Application Insights 从自定义数据源中清除数据

Posted

技术标签:

【中文标题】Application Insights 从自定义数据源中清除数据【英文标题】:Application Insights purge data from custom data source 【发布时间】:2018-12-14 07:05:33 【问题描述】:

我按计划通过 Azure Function 以编程方式将自定义数据加载到应用程序洞察应用程序中。工作流本质上是将 json 文件加载到 azure 存储帐户,调用 post 到特定端点,主体包含 sas 令牌到 json 文件的链接,然后发生摄取周期,将 json 加载到自定义数据源中。我注意到的是,摄取周期将旧记录与新的 JSON 连接起来——我需要在触发新的摄取之前清除数据,因此 JSON 文件始终代表数据集的完整状态。

是否有任何 API 用于以编程方式从应用程序洞察自定义数据源中清除数据?

【问题讨论】:

【参考方案1】:

是的,可以清除 Application Insights 数据,但可能 需要一段时间(例如 2-3 天)才能完成操作

这是通过向 Azure 管理 API 发送 POST 请求来完成的,如下所示:

--- 请求 URL (POST) ---

https://management.azure.com/subscriptions/Subscription Id (GUID)/resourceGroups/Resource Group Name/providers/Microsoft.Insights/components/Application Insights Name/purge?api-version=2015-05-01

--- 请求正文 ---


  "table": "exceptions",
  "filters": [
    
      "column": "timestamp",
      "operator": ">",
      "value": "2018-01-01"
    
  ]

exceptions是根据过滤器删除数据的表的名称。

--- 请求标头 ---

Authorization: Bearer OAuth Access Token

导航到 Azure 门户 http://portal.azure.com,打开 Cloud Shell 并运行以下命令以获取 OAuth 访问令牌

az account get-access-token

--- 响应 ---


    "operationId": "purge-048ccace-a6a0-41b9-80e3-fbc11a5bdd64"

--- 活动日志---

活动日志中将记录一个事件,其中包含有关操作的详细信息。

--- 可用表 ---

Application InsightsOther Data Sources 的可用表(包括其架构)可在 Analytics 页面中找到:


注意这个过程是异步的,可能需要一段时间,可以通过以下GET请求查询其状态:

--- 请求 URL (GET) ---

https://management.azure.com/subscriptions/Subscription Id (GUID)/resourceGroups/Resource Group Name/providers/Microsoft.Insights/components/Application Insights Name/operations/purge-GUID (response returned in the purge POST request?api-version=2015-05-01

--- 请求标头 ---

Authorization: Bearer OAuth Access Token

--- 响应 ---


    "status": "pending"


在https://docs.microsoft.com/en-us/rest/api/application-insights/components/purge了解更多详情。


这是另一个关于此功能的有趣帖子https://feedback.azure.com/forums/357324-application-insights/suggestions/19254595-enable-to-clear-data-of-the-resource。

【讨论】:

以上是关于Application Insights 从自定义数据源中清除数据的主要内容,如果未能解决你的问题,请参考以下文章

为啥 NLog 不将范围数据记录到 Application Insights 自定义维度

Application Insights - ILogger 参数呈现为自定义维度中的对象名称

从 Function App ILogger (C#) 在 Application Insights 中记录自定义对象

Application Insights 和 Azure 流分析查询将整个自定义维度导出为字符串

TelemetryClient 在 Application Insights 中产生不一致的结果

在Azure Application Insights中记录机器人数据