2

我正在尝试在 Azure Web 作业的队列中获取当前正在处理的消息的消息 ID。找不到任何关于如何获得它的适当文档。

public static void ProcessQueueMessage([QueueTrigger("%testingQueue%")] TestingMessageModel testMessage, TextWriter log)
{
   // want to do some logging for this particular triggered message using the messageid. How to get that?
}

添加 TestingMessageModel 作为参考,它没有任何指导。我想使用 azure 在将消息放入队列时创建的 GUID。

public class TestingMessageModel
{
  public int FromOrg {get; set;}
  public DateTime BatchDate {get; set;}
  public Payments[] payments {get; set;}
}
4

2 回答 2

4

它支持id直接绑定,你可以查看我的代码。

public static void ProcessQueueMessage([QueueTrigger("myqueue")] string message,ILogger logger, string id)
        {
            logger.LogInformation(message);
            logger.LogInformation($"{message}id={id}");
        }

在此处输入图像描述

在此处输入图像描述

希望这可以帮助你。

于 2019-07-16T02:13:50.907 回答
1

队列触发器提供了几个元数据属性(包括消息 ID)。

这些属性可以用作其他绑定中绑定表达式的一部分,也可以用作代码中的参数:

在此处输入图像描述

请参阅 https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-queue-trigger?tabs=csharp#message-metadata

于 2020-10-22T08:30:37.597 回答