Как получить messageid очереди внутри функции триггера очереди
Я пытаюсь получить идентификатор сообщения для обрабатываемого сообщения в очереди в веб-задании Azure. Не могу найти надлежащую документацию о том, как это получить.
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 в качестве ссылки, он не имеет никакого guid. Я хочу использовать GUID, который создает Azure, когда сообщение помещается в очередь.
public class TestingMessageModel
{
public int FromOrg {get; set;}
public DateTime BatchDate {get; set;}
public Payments[] payments {get; set;}
}
1 ответ
Решение
Он поддерживает связывать id
напрямую, вы можете проверить мой код.
public static void ProcessQueueMessage([QueueTrigger("myqueue")] string message,ILogger logger, string id)
{
logger.LogInformation(message);
logger.LogInformation($"{message}id={id}");
}
https://i.s tack.imgur.com/2MYmA.png
https://i.s tack.imgur.com/yUuRY.png
Надеюсь, это поможет вам.
Триггер очереди предоставляет несколько свойств метаданных (включая идентификатор сообщения).
Эти свойства могут использоваться как часть выражений привязки в других привязках или как параметры в вашем коде: