“删除数据 API”允许你发出异步请求来删除数据,例如敏感、个人、损坏或错误的日志条目。
本文介绍如何通过调用“删除数据 API”从 Log Analytics 工作区中的特定表删除日志条目。
删除数据 API 非常适合对单个记录进行计划外删除。 例如,当你发现损坏的遥测数据引入到工作区时,你希望防止它扭曲查询结果。 删除数据 API 会将符合指定筛选条件的记录标记为已删除,而无需从存储中实际删除这些记录。
若要指定要删除的表的行,请在 API 调用的正文中发送一个或多个筛选器。
“删除”过程是最终的且不可逆的。 因此,在调用 API 之前,请在工作区中使用 Kusto 查询语言(KQL)where
运算符运行查询,以检查筛选器是否生成了预期结果。
例如,若要基于AzureMetrics
值从TimeGenerated
表中删除数据:
可以在 API 调用的正文中发送此筛选器:
{ "filters": [ { "column": "TimeGenerated", "operator": "==", "value": "2024-09-23T00:00:00" } ] }
通过在 Log Analytics 工作区中运行此查询,检查筛选器是否返回要删除的条目:
AzureMetrics | where TimeGenerated == "2024-09-23T00:00:00"
删除数据请求是异步的,通常在几分钟内完成。 在极端情况下,请求最多可以排队五天。
行动 | 所需的权限 |
---|---|
从 Log Analytics 工作区中的表中删除数据 | 对 Log Analytics 工作区的 Microsoft.OperationalInsights/workspaces/tables/deleteData/action 权限,例如,Log Analytics 参与者内置角色所提供的权限 |
- 在单个 Log Analytics 工作区中,每小时最多可以提交 10 个删除数据请求。
- 分析表方案支持删除数据。 若要从包含基本计划的表中删除数据,请将计划更改为 Analytics,然后删除数据。 辅助计划不支持删除数据。
- 删除数据不会影响保留计费。 保留费用受表或工作区中配置的保持期管理。
若要从表中删除行,请使用以下命令:
POST https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourcegroup}/providers/Microsoft.OperationalInsights/workspaces/{workspace_name}/tables/{table_name}/deleteData?api-version=2023-09-01
Authorization: Bearer eyJ0e...
在 API 调用的正文中指定一个或多个筛选器。 此示例对 TimeGenerated
列和 Resource
列进行筛选:
{
"filters": [
{
"column": "TimeGenerated",
"operator": "==",
"value": "2024-09-23T00:00:00"
},
{
"column": "Resource",
"operator": "==",
"value": "VM-1"
}
]
}
名称 | DESCRIPTION |
---|---|
column |
要对其应用筛选器的目标表中的列的名称。 |
operator |
支持的运算符为== 、=~ 、in 、in~ 、> 、>= 、< 、<= 、between 。 |
value |
要筛选依据的值,采用受支持的格式。 该值可以是特定的日期、字符串或其他数据类型,具体取决于列。 |
响应 | DESCRIPTION |
---|---|
202 (已接受) | 异步请求已成功接收。 若要检查操作是成功还是失败,请使用响应标头中提供的 Azure-AsyncOperation URL。 |
其他状态代码 | 描述作失败的原因的错误响应。 |
可以通过 Azure 活动日志跟踪工作区中的数据删除活动。 在 Azure 门户的 Log Analytics 工作区 菜单中,选择 “活动日志 ”,并从 Log Analytics 工作区事件中找到“删除数据 ”。 选择事件,然后以 JSON 格式打开事件,了解删除的记录数、调用方和消息数等详细信息。
若要检查作的状态并查看已删除的记录数,请使用响应标头中提供的 URL 发送 GET 请求 Azure-AsyncOperation
:
GET https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/locations/{region}/operationstatuses/{responseOperation}?api-version=2023-09-01
Authorization: Bearer eyJ0e...
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.OperationalInsights/locations/chinanorth2/operationstatuses/00000000-0000-0000-0000-000000001234",
"name": "00000000-0000-0000-0000-000000001234",
"status": "Succeeded",
"startTime": "2024-11-04T09:31:41.689659Z",
"endTime": "2024-11-04T09:36:49.0252644Z",
"properties": {
"RecordCount": 234812,
"Status": "Completed"
}
}
有关详细信息,请参阅 跟踪异步 Azure 操作。
学习如何做到: