6

我想使用 Application Insights 来监控链接多个 Azure Functions 的逻辑应用程序。我希望链尽可能安全,如果出现问题,我希望函数无法正确处理 http 请求。我想当出现问题时我可以从 Application Insights 发出警报,但是我不确定如何将失败的消息放入 blob 或“失败的消息队列”。

Application Insights 警报是否可以成为将数据添加到 blob 的函数的触发器?

4

1 回答 1

2

可以从警报刀片定义具有功能触发器操作类型的操作组。如下图所示,该功能无法开启App Service Auth。

在此处输入图像描述

您还可以从 Analytics 中创建的自定义查询发出警报。例如,搜索过去一小时内包含“错误”一词的所有跟踪日志:

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

在此处输入图像描述

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

访问函数中的事件内容:

HttpRequestMessageFeature feature = new HttpRequestMessageFeature(request.HttpContext);
HttpRequestMessage req = feature.HttpRequestMessage;

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

然后使用WindowsAzure.StorageSDK 将内容推送到 blob。

var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);

var blockBlob = container.GetBlockBlobReference(fileName);
await blockBlob.UploadTextAsync(content).ConfigureAwait(false);
于 2018-06-09T16:19:53.487 回答