死信队列通知脚本

问题描述 投票:0回答:1

我希望在电子邮件从 Azure 服务总线中的队列移至死信队列时收到通知。如何使用 Function App 或 Shell 脚本或 Power shell 来做到这一点?

示例: 假设现在我在死信队列中有 5 个项目,所以也许它每小时运行一次,如果添加新项目,那么它应该触发电子邮件通知。?

提前致谢!

我尝试使用 Power shell 和 Shell 脚本,但出现错误

azure shell azure-functions azureservicebus dlq
1个回答
0
投票

Azure Function 中有一个名为服务总线触发器的触发器,它也适用于死信消息,如下所示:

这里只需要在服务总线触发器中添加

queuname/$DeadLetterQueue
即可:

using Azure.Messaging.ServiceBus;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;

namespace FunctionApp204
{
    public class Function1
    {
        private readonly ILogger<Function1> ri_lg;
        public Function1(ILogger<Function1> logger)
        {
            ri_lg = logger;
        }
        [Function(nameof(Function1))]
        public async Task Run(
            [ServiceBusTrigger("rith/$DeadLetterQueue", Connection = "rith")]
            ServiceBusReceivedMessage message,
            ServiceBusMessageActions messageActions)
        {
            ri_lg.LogInformation("Message ID: {id}", message.MessageId);
            ri_lg.LogInformation("Message Body: {body}", message.Body);
            ri_lg.LogInformation("Message Content-Type: {contentType}", message.ContentType);
            await messageActions.CompleteMessageAsync(message);
        }
    }
}

Dead 写信后:

enter image description here

函数被触发:

enter image description here

要发送电子邮件,您可以使用 SendGrid/ SMTP .

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.