在一个以前的项目中,我设法设置了一个警报规则,该规则查看毒物队列消息计数,并在队列中有东西(每天一次)时使用webhook进行松弛。
我试图找到Azure中存在的位置,因为它看起来已经移动了。如果这不是azure提供的功能,您可以指导实现类似内容的最佳途径。
由于
答案 0 :(得分:0)
我试图找到Azure中存在的位置,因为它看起来已经移动了。如果这不是azure提供的功能,您可以指导实现类似的最佳路线。
据我所知,目前azure没有提供任何功能来发送警报规则来检查毒药队列数。
您需要编写自己的逻辑来实现此要求。
我建议您考虑使用webjob / azure功能定时器触发器或队列触发器。
如果您想每5分钟检查一次毒药数(例如),您可以选择timer trigger。
然后在计时器触发器方法中,您可以使用ApproximateMessageCount方法来获取队列消息的计数。
最后,您可以使用sendgrid将通知电子邮件发送到特殊帐户。
代码:
//get the storage account from the connection string
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
//instantiate the client
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
CloudQueue q = queueClient.GetQueueReference("queue-poison");
q.FetchAttributes();
var qCnt = q.ApproximateMessageCount;
如果要在新队列消息添加到毒性队列中时获取计数。您可以选择queue trigger。代码与定时器触发器相同,只需更改参数即可。