スケジュールエンドポイント

スケジュールは、バッチセグメント化ジョブを 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
curl -X GET https://platform.adobe.io/data/core/ups/config/schedules?limit=10 \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'

応答

応答に成功すると、HTTP ステータス 200 が、指定した組織のスケジュールのリストと共に JSON として返されます。

NOTE
次の応答はスペースを節約するために切り捨てられており、最初に返されたスケジュールのみを表示しています。
スケジュールのリストを取得する際の応答例。
code language-json
{
    "_page": {
        "totalCount": 10,
        "pageSize": 1
    },
    "children": [
        {
            "id": "4e538382-dbd8-449e-988a-4ac639ebe72b",
            "imsOrgId": "{ORG_ID}",
            "sandbox": {
                "sandboxId": "28e74200-e3de-11e9-8f5d-7f27416c5f0d",
                "sandboxName": "prod",
                "type": "production",
                "default": true
            },
            "name": "Batch Segmentation",
            "state": "active",
            "type": "batch_segmentation",
            "schedule": "0 0 1 * * ?",
            "properties": {
                "segments": []
            },
            "createEpoch": 1573158851,
            "updateEpoch": 1574365202
        }
    ],
    "_links": {
        "next": {}
    }
}
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
curl -X POST https://platform.adobe.io/data/core/ups/config/schedules \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'Content-Type: application/json' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'
 -d '
{
    "name":"profile-default",
    "type":"batch_segmentation",
    "properties":{
        "segments":[
            "*"
        ]
    },
    "schedule":"0 0 1 * * ?",
    "state":"inactive"
}'
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
{
    "id": "4e538382-dbd8-449e-988a-4ac639ebe72b",
    "imsOrgId": "{ORG_ID}",
    "sandbox": {
        "sandboxId": "e7e17720-c5bb-11e9-aafb-87c71c35cac8",
        "sandboxName": "prod",
        "type": "production",
        "default": true
    },
    "name": "{SCHEDULE_NAME}",
    "state": "inactive",
    "type": "batch_segmentation",
    "schedule": "0 0 1 * * ?",
    "properties": {
        "segments": [
            "*"
        ]
    },
    "createEpoch": 1568267948,
    "updateEpoch": 1568267948
}

特定のスケジュールの取得 get

/config/schedules エンドポイントに対してGETリクエストを実行し、取得するスケジュールの ID をリクエストパスで指定することで、特定のスケジュールに関する詳細な情報を取得できます。

API 形式

GET /config/schedules/{SCHEDULE_ID}
パラメーター
説明
{SCHEDULE_ID}
取得するスケジュールの id 値。

リクエスト

スケジュールを取得するリクエストのサンプル。
code language-shell
curl -X GET https://platform.adobe.io/data/core/ups/config/schedules/4e538382-dbd8-449e-988a-4ac639ebe72b
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'

応答

正常な応答では、指定されたスケジュールの詳細情報と共に HTTP ステータス 200 が返されます。

スケジュール取得時の応答例。
code language-json
{
    "id": "4e538382-dbd8-449e-988a-4ac639ebe72b",
    "imsOrgId": "{ORG_ID}",
    "sandbox": {
        "sandboxId": "e7e17720-c5bb-11e9-aafb-87c71c35cac8",
        "sandboxName": "prod",
        "type": "production",
        "default": true
    },
    "name": "{SCHEDULE_NAME}",
    "state": "inactive",
    "type": "batch_segmentation",
    "schedule": "0 0 1 * * ?",
    "properties": {
        "segments": [
            "*"
        ]
    },
    "createEpoch": 1568267948,
    "updateEpoch": 1568267948
}
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_segmentationexport の 2 つです。
properties スケジュールに関連する追加のプロパティを含むオブジェクト。
properties.segments ["*"] を使用すると、すべてのセグメントが確実に含まれます。
schedule ジョブスケジュールを含む文字列。 ジョブは 1 日に 1 回のみ実行するようにスケジュールできます。つまり、24 時間の間に 2 回以上実行するようにジョブをスケジュールすることはできません。cron スケジュールについて詳しくは、cron 式形式に関する付録を参照してください。 この例では、「0 0 1 * *」とは、このスケジュールが毎日午前 1 時に実行されることを意味します。
state スケジュールの状態を含む文字列。 サポートされている 2 つの状態は、activeinactive です。デフォルトでは、状態は inactive に設定されています。

特定のスケジュールの詳細を更新 update

/config/schedules エンドポイントにPATCHリクエストを実行し、リクエストパスで更新しようとしているスケジュールの ID を指定することで、特定のスケジュールを更新できます。

PATCHリクエストでは、個々のスケジュールの state または cron スケジュールを更新できます。

API 形式

PATCH /config/schedules/{SCHEDULE_ID}
パラメーター
説明
{SCHEDULE_ID}
更新するスケジュールの id 値。
スケジュール状態の更新

JSON Patch 操作を使用すると、スケジュールの状態を更新できます。 状態を更新するには、path プロパティを /state として宣言し、valueactive または inactive に設定します。 JSON パッチについて詳しくは、JSON パッチドキュメントを参照してください。

リクエスト

accordion
スケジュール状態を更新するリクエストの例。
code language-shell
curl -X PATCH https://platform.adobe.io/data/core/ups/config/schedules/4e538382-dbd8-449e-988a-4ac639ebe72b \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'
 -d '
[
    {
        "op": "add",
        "path": "/state",
        "value": "active"
    }
]'
table 0-row-2 1-row-2 2-row-2
プロパティ 説明
path パッチを適用する値のパス。この場合、スケジュールの状態を更新しているので、path の値を「/state」に設定する必要があります。
value スケジュールの状態の更新された値。 この値は、「アクティブ」または「非アクティブ」に設定して、スケジュールをアクティブまたは非アクティブにできます。 組織でストリーミングが有効になっている場合は、スケジュールを無効にする できません

応答

正常な応答では、HTTP ステータス 204(コンテントなし)が返されます。

Cron スケジュールの更新
JSON Patch 操作を使用すると、cron スケジュールを更新できます。 スケジュールを更新するには、path プロパティを /schedule として宣言し、value を有効な cron スケジュールに設定します。 JSON パッチについて詳しくは、JSON パッチドキュメントを参照してください。 cron スケジュールについて詳しくは、cron 式形式に関する付録を参照してください。

リクエスト

スケジュールを更新するリクエストの例。
code language-shell
curl -X PATCH https://platform.adobe.io/data/core/ups/config/schedules/4e538382-dbd8-449e-988a-4ac639ebe72b \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'
 -d '
[
    {
        "op":"add",
        "path":"/schedule",
        "value":"0 0 2 * * ?"
    }
]'
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
curl -X DELETE https://platform.adobe.io/data/core/ups/config/schedules/4e538382-dbd8-449e-988a-4ac639ebe72b \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'

応答

正常な応答では、HTTP ステータス 204(コンテントなし)が返されます。

次の手順

このガイドを読むことで、スケジュールの仕組みについて理解が深まりました。

付録 appendix

次の付録では、スケジュールで使用される cron 式の形式について説明します。

形式

Cron 式は、6 個または 7 個のフィールドで構成される文字列です。 式は次のようになります。

0 0 12 * * ?

Cron 式文字列では、最初のフィールドは秒、2 番目のフィールドは分、3 番目のフィールドは時間、4 番目のフィールドは日付、5 番目のフィールドは月、6 番目のフィールドは曜日を表します。 また、オプションとして、年を表す 7 番目のフィールドを含めることもできます。

フィールド名
必須
可能な値
許可された特殊文字
Seconds
0-59
, - * /
Minutes
0-59
, - * /
時間
0-23
, - * /
日付
1-31
, - * ? / L W
1-12 日 1-12
, - * /
曜日
1-7、日土
, - * ? / L #
×
空白,1970-2099
, - * /
NOTE
月名と曜日の名前では、大文字と小文字が 区別されません。 したがって、SUNsun を使用することと同じです。

使用できる特殊文字は、次の意味を表します。

特殊文字
説明
*
この値は、フィールド内の すべて の値を選択するために使用されます。 例えば、「時間」フィールドに * を入力すると を意味します。
?
この値は、特定の値が不要であることを意味します。 これは、通常、あるフィールドで文字を許可する箇所を指定するために使用しますが、他のフィールドでは指定しません。 例えば、月の 3 日ごとにイベントをトリガーし、曜日を気にしない場合、月の日フィールドに 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 を月の曜日フィールドに入力した場合、最も近い平日が先月の場合でも、イベントは 現在 月の最も近い平日にトリガーされます。

さらに、LW を組み合わせて、その月の最終日を指定する LW を作成できます。
#
この値は、月の何曜日であるかを指定するために使用されます。 # の前の値は曜日を表し、# の後の値はその月のどの日かを表します。 例えば、1#3 を指定すると、イベントは月の第 3 日曜日にトリガーします。 なお、X#5 を入力し、その月の当該曜日の 5 回目の発生がない場合は、イベントが トリガーされない ことに注意してください。 例えば、1#5 を入力し、その月に 5 番目の日曜日がない場合、イベントは トリガーされません

次の表に、Cron 式の文字列の例と、それらの意味を示します。

説明
0 0 13 * * ?
イベントは毎日午後 1 時に開始されます。
0 30 9 * * ? 2022
イベントは 2022 年の毎日午前 9 時 30 分に開催されます。
0 * 18 * * ?
イベントは毎分、午後 6 時から午後 6 時 59 分まで開催されます。
0 0/10 17 * * ?
イベントは毎日午後 5 時から午後 6 時まで、10 分ごとに開催されます。
0 13,38 5 ? 6 WED
イベントは、6 月の毎週水曜日の午前 5 時 13 分と午前 5 時 38 分に開催されます。
0 30 12 ? * 4#3
イベントは毎月第 3 水曜日の午後 12 時 30 分に開始されます。
0 30 12 ? * 6L
イベントは毎月最終金曜日の午後 12 時 30 分に開始されます。
0 45 11 ? * MON-THU
イベントは毎週月曜日、火曜日、水曜日、木曜日の午前 11 時 45 分に開始されます。
recommendation-more-help
770bc05d-534a-48a7-9f07-017ec1e14871