スケジュールエンドポイント
スケジュールは、バッチセグメント化ジョブを 1 日に 1 回自動的に実行するためのツールです。 /config/schedules
エンドポイントを使用して、スケジュールのリストの取得、新しいスケジュールの作成、特定のスケジュールの詳細の取得、特定のスケジュールの更新、特定のスケジュールの削除を行うことができます。
はじめに
このガイドで使用するエンドポイントは、Adobe Experience Platform Segmentation Service API の一部です。 続行する前に、 はじめる前にを参照して、必要なヘッダーやサンプル API 呼び出しの読み取り方法など、API の呼び出しを正常に実行するために必要な重要な情報を確認してください。
スケジュールのリストの取得 retrieve-list
/config/schedules
エンドポイントに対してGETリクエストを行うことで、組織のすべてのスケジュールのリストを取得できます。
API 形式
/config/schedules
エンドポイントは、結果を絞り込むのに役立つ、複数のクエリパラメーターをサポートしています。これらのパラメーターはオプションですが、高価なオーバーヘッドの削減に役立てるため、使用することを強くお勧めします。 パラメーターを指定せずにこのエンドポイントを呼び出すと、組織で使用可能なすべてのスケジュールが取得されます。 複数のパラメーターを使用する場合は、アンパサンド(&
)で区切ります。
GET /config/schedules
GET /config/schedules?{QUERY_PARAMETERS}
クエリパラメータ
table 0-row-3 1-row-3 2-row-3 | ||
---|---|---|
パラメーター | 説明 | 例 |
start |
オフセットの元となるページを開始します。デフォルトでは、この値は 0 です。 | start=5 |
limit |
返されるスケジュールの数を指定します。デフォルトでは、この値は 100 です。 | limit=20 |
リクエスト
以下のリクエストは、組織内に投稿された最新の 10 件のスケジュールを取得します。
code language-shell |
---|
|
応答
応答に成功すると、HTTP ステータス 200 が、指定した組織のスケジュールのリストと共に JSON として返されます。
code language-json |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 | |
---|---|
プロパティ | 説明 |
_page.totalCount |
返されたスケジュールの合計数。 |
_page.pageSize |
スケジュールのページのサイズ。 |
children.name |
文字列としてのスケジュールの名前。 |
children.type |
文字列としてのジョブのタイプ。 サポートされているタイプは「batch_segmentation」と「export」の 2 つです。 |
children.properties |
スケジュールに関連する追加のプロパティを含むオブジェクト。 |
children.properties.segments |
["*"] を使用すると、すべてのセグメントが確実に含まれます。 |
children.schedule |
ジョブスケジュールを含む文字列。 ジョブは 1 日に 1 回だけ実行するようにスケジュールできます。つまり、24 時間に 1 つのジョブを複数回実行するようにスケジュールすることはできません。 cron スケジュールについて詳しくは、cron 式形式に関する付録を参照してください。 この例では、「0 0 1 * *」とは、このスケジュールが毎日午前 1 時に実行されることを意味します。 |
children.state |
スケジュールの状態を含む文字列。 サポートされている 2 つの状態は、「アクティブ」と「非アクティブ」です。 デフォルトでは、状態は「非アクティブ」に設定されています。 |
新しいスケジュールの作成 create
/config/schedules
エンドポイントに POST リクエストをおこなうことで、新しいスケジュールを作成できます。
API 形式
POST /config/schedules
リクエスト
code language-shell |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 | |
---|---|
プロパティ | 説明 |
name |
必須。 文字列としてのスケジュールの名前。 |
type |
必須。 文字列としてのジョブのタイプ。サポートされているタイプは「batch_segmentation」と「export」の 2 つです。 |
properties |
必須。 スケジュールに関連する追加のプロパティを含むオブジェクトです。 |
properties.segments |
type が「batch_segmentation」に等しい場合は必須です。["*"] を使用すると、すべてのセグメントが確実に含まれます。 |
schedule |
オプション。 ジョブスケジュールを含む文字列。ジョブは 1 日に 1 回だけ実行するようにスケジュールできます。つまり、24 時間に 1 つのジョブを複数回実行するようにスケジュールすることはできません。 cron スケジュールについて詳しくは、cron 式形式に関する付録を参照してください。 この例では、「0 0 1 * *」とは、このスケジュールが毎日午前 1 時に実行されることを意味します。 この文字列が指定されていない場合、システムで生成されたスケジュールが自動的に生成されます。 |
state |
オプション。 スケジュールの状態を含む文字列。サポートされている 2 つの状態は、「アクティブ」と「非アクティブ」です。 デフォルトでは、状態は「非アクティブ」に設定されています。 |
応答
正常な応答では、新しく作成したスケジュールの詳細と共に HTTP ステータス 200 が返されます。
code language-json |
---|
|
特定のスケジュールの取得 get
/config/schedules
エンドポイントに対してGETリクエストを実行し、取得するスケジュールの ID をリクエストパスで指定することで、特定のスケジュールに関する詳細な情報を取得できます。
API 形式
GET /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
値。リクエスト
code language-shell |
---|
|
応答
正常な応答では、指定されたスケジュールの詳細情報と共に HTTP ステータス 200 が返されます。
code language-json |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 | |
---|---|
プロパティ | 説明 |
name |
文字列としてのスケジュールの名前。 |
type |
文字列としてのジョブのタイプ。 サポートされているタイプは batch_segmentation と export の 2 つです。 |
properties |
スケジュールに関連する追加のプロパティを含むオブジェクト。 |
properties.segments |
["*"] を使用すると、すべてのセグメントが確実に含まれます。 |
schedule |
ジョブスケジュールを含む文字列。 ジョブは 1 日に 1 回のみ実行するようにスケジュールできます。つまり、24 時間の間に 2 回以上実行するようにジョブをスケジュールすることはできません。cron スケジュールについて詳しくは、cron 式形式に関する付録を参照してください。 この例では、「0 0 1 * *」とは、このスケジュールが毎日午前 1 時に実行されることを意味します。 |
state |
スケジュールの状態を含む文字列。 サポートされている 2 つの状態は、active と inactive です。デフォルトでは、状態は inactive に設定されています。 |
特定のスケジュールの詳細を更新 update
/config/schedules
エンドポイントにPATCHリクエストを実行し、リクエストパスで更新しようとしているスケジュールの ID を指定することで、特定のスケジュールを更新できます。
PATCHリクエストでは、個々のスケジュールの state または cron スケジュールを更新できます。
API 形式
PATCH /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
値。JSON Patch 操作を使用すると、スケジュールの状態を更新できます。 状態を更新するには、path
プロパティを /state
として宣言し、value
を active
または inactive
に設定します。 JSON パッチについて詳しくは、JSON パッチドキュメントを参照してください。
リクエスト
accordion | ||
---|---|---|
スケジュール状態を更新するリクエストの例。 | ||
|
table 0-row-2 1-row-2 2-row-2 | |
---|---|
プロパティ | 説明 |
path |
パッチを適用する値のパス。この場合、スケジュールの状態を更新しているので、path の値を「/state」に設定する必要があります。 |
value |
スケジュールの状態の更新された値。 この値は、「アクティブ」または「非アクティブ」に設定して、スケジュールをアクティブまたは非アクティブにできます。 組織でストリーミングが有効になっている場合は、スケジュールを無効にする できません。 |
応答
正常な応答では、HTTP ステータス 204(コンテントなし)が返されます。
リクエスト
code language-shell |
---|
|
table 0-row-2 1-row-2 2-row-2 | |
---|---|
プロパティ | 説明 |
path |
更新する値のパス。 この場合、cron スケジュールを更新しているので、path の値を /schedule に設定する必要があります。 |
value |
cron スケジュールの更新された値。 この値は、Cron スケジュールの形式で指定する必要があります。この例では、スケジュールは毎月 2 日に実行されます。 |
応答
正常な応答では、HTTP ステータス 204(コンテントなし)が返されます。
特定のスケジュールの削除
/config/schedules
エンドポイントにDELETEリクエストを実行し、リクエストパスで削除するスケジュールの ID を指定することで、特定のスケジュールの削除をリクエストできます。
API 形式
DELETE /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
値。リクエスト
code language-shell |
---|
|
応答
正常な応答では、HTTP ステータス 204(コンテントなし)が返されます。
次の手順
このガイドを読むことで、スケジュールの仕組みについて理解が深まりました。
付録 appendix
次の付録では、スケジュールで使用される cron 式の形式について説明します。
形式
Cron 式は、6 個または 7 個のフィールドで構成される文字列です。 式は次のようになります。
0 0 12 * * ?
Cron 式文字列では、最初のフィールドは秒、2 番目のフィールドは分、3 番目のフィールドは時間、4 番目のフィールドは日付、5 番目のフィールドは月、6 番目のフィールドは曜日を表します。 また、オプションとして、年を表す 7 番目のフィールドを含めることもできます。
, - * /
, - * /
, - * /
, - * ? / L W
, - * /
, - * ? / L #
, - * /
SUN
は sun
を使用することと同じです。使用できる特殊文字は、次の意味を表します。
*
*
を入力すると 毎 を意味します。?
3
を入れ、曜日フィールドに ?
を入れます。-
9-15
を入力した場合、時間には 9、10、11、12、13、14 および 15 が含まれます。,
MON, FRI, SAT
を入力した場合、曜日には月曜日、金曜日、土曜日が含まれます。/
/
の前に配置される値によって値の増分元が決まり、/
の後に配置される値によって値の増分量が決まります。 例えば、「分」フィールドに「1/7
」と入力した場合、分には 1、8、15、22、29、36、43、50、57 が含まれます。L
Last
を指定するために使用され、使用するフィールドによって異なる意味を持ちます。 日付フィールドと共に使用される場合は、月の最終日を表します。 「曜日」フィールド自体と使用する場合は、土曜日(SAT
)である週の最終日を表します。 曜日フィールドを別の値と組み合わせて使用すると、その月のタイプの最終日を表します。 例えば、曜日フィールドに 5L
を入力した場合、月の最終金曜日が のみ 含まれます。W
18W
を入力し、その月の 18 日が土曜日の場合、最も近い平日である 17 日の金曜日にトリガーされます。 その月の 18 日が日曜日なら、最も近い平日である 19 日の月曜日にトリガーします。 1W
を月の曜日フィールドに入力した場合、最も近い平日が先月の場合でも、イベントは 現在 月の最も近い平日にトリガーされます。さらに、
L
と W
を組み合わせて、その月の最終日を指定する LW
を作成できます。#
#
の前の値は曜日を表し、#
の後の値はその月のどの日かを表します。 例えば、1#3
を指定すると、イベントは月の第 3 日曜日にトリガーします。 なお、X#5
を入力し、その月の当該曜日の 5 回目の発生がない場合は、イベントが トリガーされない ことに注意してください。 例えば、1#5
を入力し、その月に 5 番目の日曜日がない場合、イベントは トリガーされません。例
次の表に、Cron 式の文字列の例と、それらの意味を示します。
0 0 13 * * ?
0 30 9 * * ? 2022
0 * 18 * * ?
0 0/10 17 * * ?
0 13,38 5 ? 6 WED
0 30 12 ? * 4#3
0 30 12 ? * 6L
0 45 11 ? * MON-THU