我希望在电子邮件从 Azure 服务总线中的队列移至死信队列时收到通知。如何使用 Function App 或 Shell 脚本或 Power shell 来做到这一点?
示例: 假设现在我在死信队列中有 5 个项目,所以也许它每小时运行一次,如果添加新项目,那么它应该触发电子邮件通知。?
提前致谢!
我尝试使用 Power shell 和 Shell 脚本,但出现错误
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 写信后:
函数被触发: