我希望能够通过 .Net 6 进程外
ServiceBusTrigger
对服务总线消息执行灵活的操作。操作包括放弃、完成、推迟以及死信排队消息。 IE。通过 in-process
ServiceBusReceivedMessage
的 ServiceBusMessageActions
和 ServiceBusTrigger
绑定可以执行相同的操作。
但是,进程外触发器似乎只能将消息正文绑定为
string
,以及FunctionContext
。所描述的操作是否可以通过其他方式用于进程外触发器?如果没有,您知道它是否在近期版本的路线图中吗?
如何对进程内触发器使用这些操作的示例:
[FunctionName(nameof(InProcessReceiver))]
public async Task RunAsync(
[ServiceBusTrigger("%TOPIC_NAME%", "%SUB_NAME%", Connection="CONNECTION_NAME")]
ServiceBusReceivedMessage message,
ServiceBusMessageActions messageActions
)
{
await messageActions.DeadLetterMessageAsync(message);
//await messageActions.AbandonMessageAsync(message);
//await messageActions.CompleteMessageAsync(message);
//await messageActions.DeferMessageAsync(message);
}
进程外触发器的示例,我想要执行与上面相同的操作
[Function(nameof(OutOfProcessReceiver))]
public async Task RunAsync(
[ServiceBusTrigger("%TOPIC_NAME%", "%SUB_NAME%", Connection="CONNECTION_NAME")]
string mySbMsg
)
{
//How to access message actions and bind them to the current message here?
}
正如微软团队在这篇路线图博客文章中提到的那样,未来是孤立的。因此,我试图避免进程内,但我意识到这可能是目前唯一的解决方案。
提前致谢!