我通过Azure功能以编程方式将自定义数据加载到应用程序见解应用程序中。从本质上讲,工作流将json文件加载到azure存储帐户上,调用后缀到特定端点的正文,该正文包含包含与json文件的sas令牌的链接,然后发生摄取周期,将json加载到自定义数据源中。我注意到的是,提取周期将旧记录与新的JSON合并在一起-我需要在触发新的提取之前对数据进行清除,因此JSON文件始终代表数据集的完整状态。
是否有用于以编程方式从应用程序见解自定义数据源中清除数据的API?
答案 0 :(得分:4)
是的,可以清除Application Insights数据,,但是可以 需要一段时间(例如2-3天)才能完成操作。
这是通过向 Azure Management 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"
}
]
}
例外是根据过滤器将数据删除到的表的名称。
---请求标头---
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请求查询其状态:
---请求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,这是另一个有趣的话题。