【问题标题】:Is it possible to output Message/BrokeredMessage with Azure Functions V2?是否可以使用 Azure Functions V2 输出消息/代理消息?
【发布时间】:2019-01-04 12:15:27
【问题描述】:

docs 中不清楚如何输出结构化消息。在一个旧函数中,我使用了BrokeredMessage,文档说将Message 用于V2 函数,但是没有关于如何 使用它的指导。这是正确的:

[FunctionName(nameof(Job))]
public static async Task<IActionResult> Job(
    // ...
    IAsyncCollector<Microsoft.Azure.ServiceBus.Message> serializedJobCollector
)

目标是能够设置一些元数据属性,例如 ID,这是我之前做过的(使用 V1 和 BrokeredMessage)进行重复检测,但我不确定这是否正确或我需要序列化为字符串或什么...

【问题讨论】:

标签: c# azure azure-functions azureservicebus


【解决方案1】:

正如doc 所说,您找到了正确的方法

对于 2.x,使用 Message 而不是 BrokeredMessage

举个例子

    [FunctionName("FunctionTest")]
    public static async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
        [ServiceBus(queueOrTopicName:"queueName",Connection ="ServiceBusConnection")]IAsyncCollector<Message> outputMessages,
        ILogger log)
    {
            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            var message = new Message
            {
                Body = System.Text.Encoding.UTF8.GetBytes(requestBody),
                MessageId = "MyMessageId"
            };
            await outputMessages.AddAsync(message);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-23
    • 2017-04-19
    • 2019-01-20
    • 2020-07-11
    • 2017-10-24
    • 2019-10-24
    相关资源
    最近更新 更多