【问题标题】:.NET5 Azure Function Service Bus Trigger Binding attributes.NET5 Azure 函数服务总线触发器绑定属性
【发布时间】:2021-11-21 00:12:35
【问题描述】:

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

我希望能够将 queueItem 序列化为我的自定义类型并获取消息接收器,但无法。如何在 .NET5 Azure Functions 中执行此操作?

        [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 azureservicebus .net-5 azure-servicebus-queues


    【解决方案1】:

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

    以下内容将帮助您获得更多上下文:

    【讨论】:

      猜你喜欢
      • 2020-05-03
      • 2021-09-28
      • 1970-01-01
      • 1970-01-01
      • 2019-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-17
      相关资源
      最近更新 更多