清理快照仓库 API

编辑

触发对快照仓库内容的检查,并删除任何未被现有快照引用的过时数据。请参阅 清理仓库

resp = client.snapshot.cleanup_repository(
    name="my_repository",
)
print(resp)
response = client.snapshot.cleanup_repository(
  repository: 'my_repository'
)
puts response
const response = await client.snapshot.cleanupRepository({
  name: "my_repository",
});
console.log(response);
POST /_snapshot/my_repository/_cleanup

请求

编辑

POST /_snapshot/<repository>/_cleanup

先决条件

编辑
  • 如果启用了 Elasticsearch 安全功能,您必须拥有 manage 集群权限才能使用此 API。

路径参数

编辑
<repository>
(必需,字符串)要检查和清理的快照仓库的名称。

查询参数

编辑
master_timeout
(可选,时间单位)等待主节点的时间。如果主节点在超时过期之前不可用,则请求失败并返回错误。默认为 30s。也可以设置为 -1,表示请求永远不应超时。
timeout
(可选,时间单位)在更新集群元数据后,等待集群中所有相关节点响应的时间。如果在超时过期之前没有收到响应,则集群元数据的更新仍然适用,但响应将指示未完全确认。默认为 30s。也可以设置为 -1,表示请求永远不应超时。

响应体

编辑
results

(对象)包含清理操作的统计信息。

results 的属性
deleted_bytes
(整数)清理操作释放的字节数。
deleted_blobs
(整数)在清理操作期间从快照仓库中删除的二进制大对象(blob)的数量。任何非零值都表示找到并随后清理了未引用的 blob。

示例

编辑
resp = client.snapshot.cleanup_repository(
    name="my_repository",
)
print(resp)
response = client.snapshot.cleanup_repository(
  repository: 'my_repository'
)
puts response
const response = await client.snapshot.cleanupRepository({
  name: "my_repository",
});
console.log(response);
POST /_snapshot/my_repository/_cleanup

API 返回以下响应

{
  "results": {
    "deleted_bytes": 20,
    "deleted_blobs": 5
  }
}