我想使用Application Insights监视链接多个Azure函数的Logic App。我希望链尽可能安全,如果出现问题,我希望http请求无法通过函数正确处理。
我认为当出现问题时我可以从Application Insights发出警报,但是我不确定如何将失败的消息放入Blob或“失败的消息队列”。

Application Insights Alert是否有可能是将数据添加到Blob的功能的触发器?

最佳答案

可以从“警报” Blade 中定义具有功能触发操作类型的操作组。如下图所示,该功能无法启用App Service Auth。

azure - Azure Application Insights警报是否有可能触发其他功能?-LMLPHP

您还可以通过在Google Analytics(分析)中创建的自定义查询来引发警报。例如。搜索包含单词“错误”的最后一个小时的所有跟踪日志:

traces |
where message contains "Error" and timestamp >= ago(1h)

azure - Azure Application Insights警报是否有可能触发其他功能?-LMLPHP

保存查询并创建新的警报规则,然后将该查询用作警报条件。

在您的函数中访问事件内容:
HttpRequestMessageFeature feature = new HttpRequestMessageFeature(request.HttpContext);
HttpRequestMessage req = feature.HttpRequestMessage;

var content = await req.Content.ReadAsStringAsync();

然后使用WindowsAzure.Storage SDK将内容推送到Blob。
var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);

var blockBlob = container.GetBlockBlobReference(fileName);
await blockBlob.UploadTextAsync(content).ConfigureAwait(false);

关于azure - Azure Application Insights警报是否有可能触发其他功能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50755995/

10-15 21:42