スケジュールのエンドポイント
スケジュールは、バッチセグメント化ジョブを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 リクエストを使用すると、個々のスケジュールの状態またはcron スケジュール のいずれかを更新できます。
API 形式
PATCH /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}id値。JSON パッチ操作を使用して、スケジュールの状態を更新できます。 状態を更新するには、path プロパティを/stateとして宣言し、valueをactiveまたはinactiveのいずれかに設定します。 JSON パッチについて詳しくは、JSON パッチ ドキュメントを参照してください。
リクエスト
| accordion | ||
|---|---|---|
| スケジュール状態を更新するためのサンプルリクエスト。 | ||
|
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| プロパティ | 説明 |
path |
パッチを適用する値のパス。 この場合、スケジュールの状態を更新するため、pathの値を「/state」に設定する必要があります。 |
value |
スケジュールの状態の更新値。 この値は、「アクティブ」または「非アクティブ」に設定して、スケジュールをアクティブ化または非アクティブ化できます。 組織でストリーミングが有効になっている場合は、でスケジュールを無効にすることはできません。 |
応答
正常な応答では、HTTP ステータス 204(コンテントなし)が返されます。
path プロパティを/scheduleとして宣言し、valueを有効なcron スケジュールに設定します。 JSON パッチについて詳しくは、JSON パッチ ドキュメントを参照してください。 cron スケジュールの詳細については、cron式の形式に関する付録を参照してください。リクエスト
| 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が含まれます。LLastを指定するために使用され、使用されるフィールドによって異なる意味を持ちます。 「月の日」フィールドで使用する場合は、月の最終日を表します。 「曜日」フィールドのみで使用する場合は、土曜日(SAT)の週の最終日を表します。 「曜日」フィールドと別の値を組み合わせて使用する場合は、その月のタイプの最終日を表します。 例えば、「曜日」フィールドに5Lを入れると、月の最後の金曜日が のみ になります。W18Wを「月の日」フィールドに入れ、その月の18日が土曜日の場合、最も近い平日である17日の金曜日にトリガーします。 その月の18日が日曜日であれば、最も近い平日である19日の月曜日にトリガーするでしょう。 「月の日」フィールドに1Wを入力し、最も近い曜日が前月である場合、イベントは 現在 か月の最も近い曜日にトリガーされます。さらに、
LとWを組み合わせてLWを作成できます。これにより、月の最後の曜日が指定されます。##の前に配置された値は曜日を表し、#の後に配置された値はその月のどの出現を表します。 例えば、1#3と入力すると、月の第3日曜日にトリガーします。 X#5を入れた場合、その月のその曜日に5回目の発生がない場合、イベントは not がトリガーされます。 例えば、1#5を入力し、その月に第5日曜日がない場合、イベントはnot トリガーされます。例
次の表は、cron式の文字列の例を示し、その意味を説明しています。
0 0 13 * * ?0 30 9 * * ? 20220 * 18 * * ?0 0/10 17 * * ?0 13,38 5 ? 6 WED0 30 12 ? * 4#30 30 12 ? * 6L0 45 11 ? * MON-THU