更新连接器调度 API
编辑更新连接器调度 API
编辑此功能处于 beta 测试阶段,可能会发生变化。其设计和代码不如正式 GA 功能成熟,按“原样”提供,不提供任何保证。Beta 功能不受正式 GA 功能的支持 SLA 约束。
更新连接器的 scheduling
配置。
要开始使用连接器 API,请查看我们的教程。
请求
编辑PUT _connector/<connector_id>/_scheduling
先决条件
编辑- 要使用自托管连接器同步数据,您需要在自己的基础设施上部署Elastic 连接器服务。对于 Elastic 托管的连接器,此服务在 Elastic Cloud 上自动运行。
connector_id
参数应引用现有连接器。
路径参数
编辑-
<connector_id>
- (必需,字符串)
请求正文
编辑-
scheduling
- (必需,对象)连接器的调度配置。此配置决定了连接器的同步操作频率。
调度配置包括以下属性,每个属性都表示为一个 ScheduleConfig
对象。如果 scheduling
对象不包含所有调度类型,则只会更新提供的类型;其他类型将保持不变。
-
access_control
(可选,ScheduleConfig
对象)定义同步连接器访问控制设置的计划。 -
full
(可选,ScheduleConfig
对象)定义完整内容同步的计划。 -
incremental
(可选,ScheduleConfig
对象)定义增量内容同步的计划。
每个 ScheduleConfig
对象都包括以下子属性
-
enabled
(必需,布尔值)一个标志,用于启用或禁用调度。 -
interval
(必需,字符串)表示同步计划的 CRON 表达式。此表达式定义了同步操作发生的频率。它必须以有效的 CRON 格式提供。
响应代码
编辑-
200
- 连接器的
scheduling
字段已成功更新。 -
400
- 未提供
connector_id
或请求负载格式不正确。 -
404
(缺少资源) - 找不到与
connector_id
匹配的连接器。
示例
编辑以下示例更新了 ID 为 my-connector
的连接器的 scheduling
属性
resp = client.connector.update_scheduling( connector_id="my-connector", scheduling={ "access_control": { "enabled": True, "interval": "0 10 0 * * ?" }, "full": { "enabled": True, "interval": "0 20 0 * * ?" }, "incremental": { "enabled": False, "interval": "0 30 0 * * ?" } }, ) print(resp)
response = client.connector.update_scheduling( connector_id: 'my-connector', body: { scheduling: { access_control: { enabled: true, interval: '0 10 0 * * ?' }, full: { enabled: true, interval: '0 20 0 * * ?' }, incremental: { enabled: false, interval: '0 30 0 * * ?' } } } ) puts response
const response = await client.connector.updateScheduling({ connector_id: "my-connector", scheduling: { access_control: { enabled: true, interval: "0 10 0 * * ?", }, full: { enabled: true, interval: "0 20 0 * * ?", }, incremental: { enabled: false, interval: "0 30 0 * * ?", }, }, }); console.log(response);
PUT _connector/my-connector/_scheduling { "scheduling": { "access_control": { "enabled": true, "interval": "0 10 0 * * ?" }, "full": { "enabled": true, "interval": "0 20 0 * * ?" }, "incremental": { "enabled": false, "interval": "0 30 0 * * ?" } } }
{ "result": "updated" }
以下示例仅更新 full
同步计划,其他计划类型保持不变
resp = client.connector.update_scheduling( connector_id="my-connector", scheduling={ "full": { "enabled": True, "interval": "0 10 0 * * ?" } }, ) print(resp)
const response = await client.connector.updateScheduling({ connector_id: "my-connector", scheduling: { full: { enabled: true, interval: "0 10 0 * * ?", }, }, }); console.log(response);
PUT _connector/my-connector/_scheduling { "scheduling": { "full": { "enabled": true, "interval": "0 10 0 * * ?" } } }
{ "result": "updated" }