获取 watch API
通过 watch 的 ID 检索一个 watch。
GET _watcher/watch/<watch_id>
前置条件
- 使用此 API 必须拥有以下集群权限之一:
manage_watcher或monitor_watcher。
路径参数
<watch_id>
(必需,字符串)watch 的标识符。
响应体
顶层字段包括:
found:是否找到了指定 ID 的 watch。_id:watch 的 ID。_seq_no:序列号,用于乐观并发控制。_primary_term:主分片任期,与_seq_no配合使用。_version:watch 文档的版本号。status:watch 的当前状态,包含:status.version:状态对象的版本号。status.state.active:布尔值,表示 watch 是否处于激活状态。status.state.timestamp:状态时间戳。status.actions.<action_name>.ack.timestamp:该操作确认状态的时间戳。status.actions.<action_name>.ack.state:确认状态,例如awaits_successful_execution(等待成功执行)。
watch:watch 定义本身,包含:watch.input:输入定义。watch.condition:条件定义。watch.trigger:触发器定义。watch.actions:操作定义。
示例
以下示例获取 ID 为 my_watch 的 watch:
GET _watcher/watch/my_watch
API 返回以下响应:
{
"found": true,
"_id": "my_watch",
"_seq_no": 0,
"_primary_term": 1,
"_version": 1,
"status": {
"version": 1,
"state": {
"active": true,
"timestamp": "2015-05-26T18:21:08.630Z"
},
"actions": {
"test_index": {
"ack": {
"timestamp": "2015-05-26T18:21:08.630Z",
"state": "awaits_successful_execution"
}
}
}
},
"watch": {
"input": {
"simple": {
"payload": {
"send": "yes"
}
}
},
"condition": {
"always": {}
},
"trigger": {
"schedule": {
"hourly": {
"minute": [ 0, 5 ]
}
}
},
"actions": {
"test_index": {
"index": {
"index": "test"
}
}
}
}
}