Schedules エンドポイント
スケジュールは、1 日 1 回バッチセグメント化ジョブを自動的に実行するために使用できるツールです。 以下を使用すると、 /config/schedules
エンドポイント:スケジュールのリストの取得、新しいスケジュールの作成、特定のスケジュールの詳細の取得、特定のスケジュールの更新または特定のスケジュールの削除をおこないます。
はじめに
このガイドで使用されるエンドポイントは、 Adobe Experience Platform Segmentation Service API. 続行する前に、 入門ガイド を参照してください。
スケジュールのリストの取得 retrieve-list
組織のすべてのスケジュールのリストを取得するには、 /config/schedules
endpoint.
API 形式
/config/schedules
エンドポイントは、結果を絞り込むのに役立つ、複数のクエリパラメーターをサポートしています。これらのパラメーターはオプションですが、高価なオーバーヘッドを削減するために、使用を強くお勧めします。 パラメーターを指定しないでこのエンドポイントを呼び出すと、組織で使用可能なすべてのスケジュールが取得されます。 複数のパラメーターを使用する場合は、アンパサンド(&
)で区切ります。
GET /config/schedules
GET /config/schedules?start={START}
GET /config/schedules?limit={LIMIT}
{START}
{LIMIT}
リクエスト
次のリクエストでは、組織内で投稿された最新 10 件のスケジュールを取得します。
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 として返します。
{
"_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": {}
}
}
_page.totalCount
_page.pageSize
children.name
children.type
children.properties
children.properties.segments
["*"]
は、すべてのセグメントが確実に含まれるようにします。children.schedule
children.state
新しいスケジュールの作成 create
/config/schedules
エンドポイントに POST リクエストをおこなうことで、新しいスケジュールを作成できます。
API 形式
POST /config/schedules
リクエスト
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"
}'
name
type
properties
properties.segments
type
は、「batch_segmentation」と等しいです。["*"]
を使用すると、すべてのセグメントが確実に含まれます。schedule
この文字列を指定しない場合、システム生成スケジュールが自動的に生成されます。
state
応答
正常な応答では、新しく作成したスケジュールの詳細と共に HTTP ステータス 200 が返されます。
{
"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
エンドポイントを検索し、リクエストパスで取得するスケジュールの ID を指定します。
API 形式
GET /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
取得するスケジュールの値。リクエスト
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 が返されます。
{
"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
}
name
type
batch_segmentation
と export
の 2 つです。properties
properties.segments
["*"]
は、すべてのセグメントが確実に含まれるようにします。schedule
state
active
と inactive
です。デフォルトでは、状態は inactive
に設定されています。特定のスケジュールの詳細を更新 update
特定のスケジュールを更新するには、 /config/schedules
エンドポイントを開き、リクエストパスで更新しようとしているスケジュールの ID を指定します。
PATCHリクエストでは、 state または cron スケジュール 個々のスケジュールに対して。
スケジュール状態の更新 update-state
JSON パッチ操作を使用して、スケジュールの状態を更新できます。 状態を更新するには、 path
プロパティとして /state
をクリックし、 value
次のいずれかを実行します。 active
または inactive
. JSON パッチの詳細については、 JSON パッチ ドキュメント。
API 形式
PATCH /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
更新するスケジュールの値。リクエスト
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"
}
]'
path
path
を「/state」に変更します。value
応答
正常な応答では、HTTP ステータス 204(コンテントなし)が返されます。
Cron スケジュールを更新 update-schedule
JSON パッチ操作を使用して、cron スケジュールを更新できます。 スケジュールを更新するには、 path
プロパティとして /schedule
をクリックし、 value
を有効な cron スケジュールに追加します。 JSON パッチの詳細については、 JSON パッチ ドキュメント。 Cron スケジュールの詳細については、 cron 式形式.
API 形式
PATCH /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
更新するスケジュールの値。リクエスト
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 * * ?"
}
]'
path
path
から /schedule
.value
応答
正常な応答では、HTTP ステータス 204(コンテントなし)が返されます。
特定のスケジュールの削除
特定のスケジュールの削除をリクエストするには、 /config/schedules
エンドポイントを探し、リクエストパスで削除するスケジュールの ID を指定します。
API 形式
DELETE /config/schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
削除するスケジュールの値。リクエスト
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 番目のフィールドを含めることもできます。
, - * /
, - * /
, - * /
, - * ? / 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 番目の出現はない、このイベントは not をトリガーします。 例えば、 1#5
そして、その月には第 5 の日曜日はないので、このイベントは not をトリガーします。例
次の表に、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