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 Insights 和 Other 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 流分析查询将整个自定义维度导出为字符串