繁体   English   中英

.NET5 Azure Function 服务总线触发器绑定属性

[英].NET5 Azure Function Service Bus Trigger Binding attributes

我目前正在使用Micrsoft.Azure.Functions.Worker.Extensions.ServiceBus

我希望能够将 queueItem 序列化为我的自定义类型并获取消息接收者,但无法做到。 我怎样才能在 .NET5 Azure 函数中做到这一点?

        [Function(nameof(Run))]
        public async Task Run([ServiceBusTrigger("queuename", IsSessionsEnabled = true, Connection = "ServiceBusConnectionString")] QueueMessagePayload queueItem,
            MessageReceiver messageReceiver,
                string lockToken,
   FunctionContext context)

MessageRecevier 不存在(语法错误)。 如果我指定自定义类型而不是字符串,我也会收到以下错误。

Exception: Microsoft.Azure.Functions.Worker.Diagnostics.Exceptions.FunctionInputConverterException: Error converting 1 input parameters for Function 'Run': Cannot convert input parameter 'queueItem' to type 'QueueMessagePayload' from type 'System.String'
    [Serializable]
    public class QueueMessagePayload
    {
        public ActionEnum Action { get; set; }
        public Object Body { get; set; }
    }

Azure Functions Isolated Worker SDK 不支持 SDK 类型的绑定。 特别是对于 Azure 服务总线,您需要以字符串或字节数组的形式接收消息并将其反序列化为自定义类型。

以下内容将帮助您获得更多背景信息:

  • GitHub关于 SDK 类型支持 Azure 服务总线的问题
  • 关于接收(和发送多条消息) 的博文

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM