我通过Azure功能以编程方式将自定义数据加载到应用程序见解应用程序中。从本质上讲,工作流将json文件加载到azure存储帐户上,调用后缀到特定端点的正文,其中包含包含与json文件的sas令牌链接的主体,然后发生摄取周期,将json加载到自定义数据源中。我注意到的是,摄取周期将旧记录与新的JSON合并在一起-我需要在触发新的摄取之前清除数据,因此JSON文件始终代表数据集的完整状态。
是否有任何API用于以编程方式从应用程序见解自定义数据源中清除数据?
是的,可以清除Application Insights数据,但是完成操作可能需要一段时间(例如2-3天)。
这是通过将POST请求发送到Azure管理API来完成的,如下所示:
-请求网址(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}
导航到位于http://portal.azure.com的Azure门户,打开Cloud Shell并运行以下命令以获得OAuth访问令牌:
az account get-access-token
-回应-
{ "operationId": "purge-048ccace-a6a0-41b9-80e3-fbc11a5bdd64" }
- - 活动日志 - -
事件将记录在活动日志中,其中包含有关操作的详细信息。
---可用表---
“ 分析”页面中提供了“ 应用程序见解”和“ 其他数据源 ”的可用表(包括其架构):
请注意,此过程是异步的,可能需要一段时间,可以通过以下GET请求查询其状态:
-请求网址(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/zh-cn/rest/api/application-insights/components/purge中找到更多详细信息。
这是有关此功能的另一个有趣的话题,https://feedback.azure.com/forums/357324-application-insights/suggestions/19254595-enable-to-clear-data-of-the-resource。