Azure 函数无法将参数“messageReceiver”绑定到类型“Microsoft.Azure.ServiceBus.Core.MessageReceiver”
Posted
技术标签:
【中文标题】Azure 函数无法将参数“messageReceiver”绑定到类型“Microsoft.Azure.ServiceBus.Core.MessageReceiver”【英文标题】:Azure Function Can't bind parameter 'messageReceiver' to type 'Microsoft.Azure.ServiceBus.Core.MessageReceiver' 【发布时间】:2021-12-30 05:39:10 【问题描述】:升级到 Microsoft.Azure.ServiceBus v5.2.0 MessageReceiver 不再工作。
MessageReceiver messageReceiver
Microsoft.Azure.WebJobs.Host:索引方法错误 '布鲁内尔WMSServiceBus'。 Microsoft.Azure.WebJobs.Host:无法绑定 要键入的参数“messageReceiver” 'Microsoft.Azure.ServiceBus.Core.MessageReceiver'。
根据doc,MessageReceiver
仍受支持,但它不再在运行时工作。我看过对参数命名的引用,但messageReceiver
显然没问题。
ServiceBusMessageActions messageActions
有效,但必须称为messageActions
,否则它也将无法绑定。只是想知道是否停止使用MessageReceiver
并改用ServiceBusMessageActions
。
【问题讨论】:
你可以参考GitHub上的类似问题:Microsoft.Azure.WebJobs.Host: Error indexing method 'XXX'. Microsoft.Azure.WebJobs.Host: Can't bind parameter 'messageReceiver' to type 'Microsoft.Azure.ServiceBus.Core.MessageReceiver'. 【参考方案1】:它尚未添加到规范中,但显然不应再使用 IMessageReceiver,因为它属于 Microsoft.Azure.ServiceBus 库,该库已被 Microsoft.Azure.WebJobs.Extensions.ServiceBus SDK 弃用且不再引用。所以ServiceBusMessageActions messageActions参数绝对是现在要走的路。
https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/servicebus/Microsoft.Azure.WebJobs.Extensions.ServiceBus#message-settlement
【讨论】:
以上是关于Azure 函数无法将参数“messageReceiver”绑定到类型“Microsoft.Azure.ServiceBus.Core.MessageReceiver”的主要内容,如果未能解决你的问题,请参考以下文章
将参数从逻辑应用电子邮件触发器传递到 azure 函数 http 触发器问题
Azure(函数)参数在 Python 中声明,但不在 function.json 中
将 JSON 对象映射到 Azure 函数 API 请求类参数中的类