代码之家  ›  专栏  ›  技术社区  ›  Kuczi

azure application insights警报是否可以触发其他功能?

  •  5
  • Kuczi  · 技术社区  · 6 年前

    我想使用application insights来监视一个逻辑应用程序,该应用程序链接了几个azure功能。我希望链尽可能安全,如果出了问题,我希望http请求不能被函数正确处理。 我想我可以在出现问题时从应用程序洞察中发出警报,但是我不确定如何将失败的消息放入blob或“失败的消息队列”。

    application insights警报是否可以作为将数据添加到blob的函数的触发器?

    1 回复  |  直到 6 年前
        1
  •  2
  •   JanneP    6 年前

    可以从 警报 叶片。如下图所示,无法对该功能启用app service auth。

    enter image description here

    您还可以从分析中创建的自定义查询引发警报。例如,搜索包含“error”一词的最后一小时的所有跟踪日志:

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

    enter image description here

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

    访问函数中的事件内容:

    HttpRequestMessageFeature feature = new HttpRequestMessageFeature(request.HttpContext);
    HttpRequestMessage req = feature.HttpRequestMessage;
    
    var content = await req.Content.ReadAsStringAsync();
    

    然后使用 WindowsAzure.Storage 将内容推送到blob的sdk。

    var blobClient = storageAccount.CreateCloudBlobClient();
    var container = blobClient.GetContainerReference(containerName);
    
    var blockBlob = container.GetBlockBlobReference(fileName);
    await blockBlob.UploadTextAsync(content).ConfigureAwait(false);