我正在尝试在 Azure 服务总线触发函数中绑定到 MessageReceiver。我的目标是处理死信队列消息并完成它们。
public static class Function1
{
[FunctionName("Function1")]
public static async Task Run([ServiceBusTrigger("<topicName>", "<subscriptionName>/$DeadLetterQueue", Connection = "connectionstring")]Message message,
ILogger logger,
MessageReceiver messageReceiver)
{
// TODO: Perform some actions
await messageReceiver.CompleteAsync(message.SystemProperties.LockToken);
}
Run Code Online (Sandbox Code Playgroud)
问题是它无法绑定到 Message 接收器类。
Microsoft.Azure.WebJobs.Host:索引方法“Function1”时出错。Microsoft.Azure.WebJobs.Host:无法将参数“接收器”绑定到类型 MessageReceiver。确保绑定支持参数类型。如果您使用绑定扩展(例如 Azure Storage、ServiceBus、Timers 等),请确保您已在启动代码(例如 builder.AddAzureStorage()、builder.AddServiceBus() 中调用了扩展的注册方法)、builder.AddTimers() 等)。
为什么我绑定失败的任何想法?