コネクタスケジューリングAPIの更新
この機能はベータ版であり、変更される可能性があります。設計とコードは公式GA機能よりも成熟しておらず、保証なしでそのまま提供されています。ベータ機能は公式GA機能のサポートSLAの対象外です。
コネクタのscheduling
設定を更新します。
コネクタAPIを始めるには、チュートリアルを確認してください。
リクエスト
PUT _connector/<connector_id>/_scheduling
前提条件
- 自己管理型コネクタを使用してデータを同期するには、独自のインフラストラクチャに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
プロパティを更新します:
Python
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)
Ruby
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
Js
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
同期スケジュールのみを更新し、他のスケジュールタイプは変更されないことを示しています:
Python
resp = client.connector.update_scheduling(
connector_id="my-connector",
scheduling={
"full": {
"enabled": True,
"interval": "0 10 0 * * ?"
}
},
)
print(resp)
Js
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"
}