スケジュールエンドポイント
サンプル API 呼び出し
使用するヘッダーを理解できたので、Query Service API への呼び出しを開始できます。次の節では、Query Service API を使用して作成できる様々な API 呼び出しについて説明します。 各呼び出しでは一般的な API 形式、必須ヘッダーを示すリクエスト例および応答例が示されています。
スケジュールされたクエリのリストの取得
/schedules
エンドポイントに対してGETリクエストを行うことで、組織でスケジュールされたすべてのクエリのリストを取得できます。
API 形式
GET /schedules
GET /schedules?{QUERY_PARAMETERS}
{QUERY_PARAMETERS}
&
)で区切ります。使用できるパラメーターは以下のとおりです。クエリパラメータ
次に、スケジュールされたクエリの一覧表示に使用可能なクエリパラメーターのリストを示します。これらのパラメーターはすべてオプションです。パラメーターを指定せずにこのエンドポイントを呼び出すと、組織で使用できる、スケジュールされたクエリがすべて取得されます。
orderby
created
と updated
です。例えば、orderby=created
は、昇順で結果を並べ替えます。作成前に -
を追加する(orderby=-created
)と、項目が作成日の降順で並べ替えられます。limit
start
使用すると、日付と時間に様々なレベルの精度を設定できます。 基本の ISO タイムスタンプは、2020 年 9 月 7 日を表すために
2020-09-07
の形式を取ります。 より複雑な例は、2022-11-05T08:15:30-05:00
と記述され、2022 年 11 月 5 日午前 8:15:30 分(米国東部標準時)に対応します。 タイムゾーンには UTC オフセットを指定でき、サフィックス「Z」(2020-01-01T01:01:01Z
)で示されます。 タイムゾーンが指定されない場合は、デフォルトで 0 に設定されます。property
created
、templateId
、および userId
です。サポートされる演算子のリストは >
(より大きい)、<
(より小さい)、および ==
(等しい)です。例えば、userId==6ebd9c2d-494d-425a-aa91-24033f3abeec
は、指定されたものと同じたユーザー ID を持つスケジュール済みクエリをすべて返します。リクエスト
次のリクエストでは、組織に対して作成された最新のスケジュール済みクエリを取得します。
curl -X GET https://platform.adobe.io/data/foundation/query/schedules?limit=1
-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 が、指定された組織に対してスケジュールされたクエリのリストと共に返されます。 次の応答では、組織に対して作成された最新のスケジュール済みクエリが返されます。
{
"schedules": [
{
"state": "ENABLED",
"query": {
"dbName": "prod:all",
"sql": "SELECT * FROM accounts;",
"name": "Sample Scheduled Query",
"description": "A sample of a scheduled query."
},
"updatedUserId": "{USER_ID}",
"version": 2,
"id": "e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
"updated": "1578523458919",
"schedule": {
"schedule": "30 * * * *",
"startDate": "2020-01-08T12:30:00.000Z",
"maxActiveRuns": 1
},
"userId": "{USER_ID}",
"created": "1578523458919",
"_links": {
"enable": {
"href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
"method": "PATCH",
"body": "{ \"op\": \"enable\" }"
},
"runs": {
"href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm/runs",
"method": "GET"
},
"self": {
"href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
"method": "GET"
},
"delete": {
"href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
"method": "DELETE"
},
"disable": {
"href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
"method": "PATCH",
"body": "{ \"op\": \"disable\" }"
},
"trigger": {
"href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm/runs",
"method": "POST"
}
}
}
],
"_page": {
"orderby": "+created",
"start": "2020-01-08T22:44:18.919Z",
"count": 1
},
"_links": {},
"version": 2
}
新しいスケジュール済みクエリの作成
/schedules
エンドポイントにPOSTリクエストをおこなうと、新しいスケジュール済みクエリを作成できます。 API でスケジュールされたクエリを作成すると、クエリエディターでも表示できます。 UI のスケジュール済みクエリについて詳しくは、 クエリエディターのドキュメントを参照してください。
API 形式
POST /schedules
リクエスト
curl -X POST https://platform.adobe.io/data/foundation/query/schedules
-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 '
{
"query": {
"dbName": "prod:all",
"sql": "SELECT * FROM accounts;",
"name": "Sample Scheduled Query",
"description": "A sample of a scheduled query."
},
"schedule": {
"schedule": "30 * * * *",
"startDate": "2020-01-08T12:30:00.000Z"
}
}
'
query.dbName
query.sql
query.name
schedule.schedule
クエリの cron スケジュール。Cron スケジュールの詳細については、cron 式形式のドキュメントを参照してください。この例では、「30 * * * *」は、クエリが毎時 30 分に実行されることを意味します。
または、次の短縮形の式を使用することもできます。
@once
:クエリは 1 回だけ実行されます。@hourly
:クエリは 1 時間ごとに、その時間の初めに実行されます。 これは cron 式0 * * * *
と同等です。@daily
:クエリは 1 日 1 回午前 0 時に実行されます。 これは cron 式0 0 * * *
と同等です。@weekly
:クエリは、週に 1 回、日曜日、深夜に実行されます。 これは cron 式0 0 * * 0
と同等です。@monthly
:クエリは月に 1 回、月の初日の午前 0 時に実行されます。 これは cron 式0 0 1 * *
と同等です。@yearly
: クエリは、年に 1 回、1 月 1 日、深夜に実行されます。 これは cron 式1 0 0 1 1 *
と同等です。
schedule.startDate
応答
成功応答は HTTP ステータス(許可済み)とともに、作成したスケジュール済みクエリの詳細を返します。スケジュール済みクエリのアクティブ化が完了すると、state
は REGISTERING
から ENABLED
に変更されます。
{
"state": "REGISTERING",
"query": {
"dbName": "prod:all",
"sql": "SELECT * FROM accounts;",
"name": "Sample Scheduled Query",
"description": "A sample of a scheduled query."
},
"updatedUserId": "{USER_ID}",
"version": 2,
"id": "e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
"schedule": {
"schedule": "30 * * * *",
"startDate": "2020-01-08T12:30:00.000Z",
"maxActiveRuns": 1
},
"userId": "{USER_ID}",
"_links": {
"enable": {
"href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
"method": "PATCH",
"body": "{ \"op\": \"enable\" }"
},
"runs": {
"href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm/runs",
"method": "GET"
},
"self": {
"href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
"method": "GET"
},
"delete": {
"href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
"method": "DELETE"
},
"disable": {
"href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
"method": "PATCH",
"body": "{ \"op\": \"disable\" }"
},
"trigger": {
"href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm/runs",
"method": "POST"
}
}
}
_links.delete
の値を使用して、 作成したスケジュール済みクエリを削除できます。指定したスケジュール済みクエリの詳細のリクエスト
特定のスケジュール済みクエリの情報を取得するには、/schedules
エンドポイントに GET リクエストを送信し、リクエストパスでその ID を指定します。
API 形式
GET /schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
値。リクエスト
curl -X GET https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm
-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 とともに、指定されたスケジュール済みクエリの詳細を返します。
{
"state": "ENABLED",
"query": {
"dbName": "prod:all",
"sql": "SELECT * FROM accounts;",
"name": "Sample Scheduled Query",
"description": "A sample of a scheduled query."
},
"updatedUserId": "{USER_ID}",
"version": 2,
"id": "e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
"updated": "1578523458919",
"schedule": {
"schedule": "30 * * * *",
"startDate": "2020-01-08T12:30:00.000Z",
"maxActiveRuns": 1
},
"userId": "{USER_ID}",
"created": "1578523458919",
"_links": {
"enable": {
"href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
"method": "PATCH",
"body": "{ \"op\": \"enable\" }"
},
"runs": {
"href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm/runs",
"method": "GET"
},
"self": {
"href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
"method": "GET"
},
"delete": {
"href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
"method": "DELETE"
},
"disable": {
"href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm",
"method": "PATCH",
"body": "{ \"op\": \"disable\" }"
},
"trigger": {
"href": "https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm/runs",
"method": "POST"
}
}
}
_links.delete
の値を使用して、 作成したスケジュール済みクエリを削除できます。指定したスケジュール済みクエリの詳細の更新
指定したスケジュール済みクエリの詳細を更新するには、/schedules
エンドポイントに PATCH リクエストを送信し、リクエストパスでその ID を指定します。
PATCH リクエストは、/state
と /schedule/schedule
の 2 つのパスをサポートします。
スケジュール済みクエリの状態の更新
選択したスケジュール済みクエリの状態を更新するには、path
プロパティを /state
に設定し、value
プロパティを enable
または disable
に設定します。
API 形式
PATCH /schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
値。リクエスト
この API リクエストは、ペイロードに JSON パッチ構文を使用します。JSON パッチの仕組みについて詳しくは、API の基本ドキュメントを参照してください。
curl -X PATCH https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm
-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 '{
"body": [
{
"op": "replace",
"path": "/state",
"value": "disable"
}
]
}'
op
replace
です。path
path
の値を /state
に設定する必要があります。value
/state
の更新された値。この値は、enable
または disable
に設定して、スケジュール済みクエリを有効または無効にすることができます。応答
成功応答は、HTTP ステータス 202(許可済み)とともに次のメッセージを返します。
{
"message": "Request to patch accepted",
"statusCode": 202
}
スケジュール済みクエリスケジュールの更新
リクエスト本文で path
プロパティを /schedule/schedule
に設定することで、スケジュールされたクエリの cron スケジュールを更新できます。 cron スケジュールの詳細については、cron 式形式のドキュメントを参照してください。
API 形式
PATCH /schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
値。リクエスト
この API リクエストは、ペイロードに JSON パッチ構文を使用します。JSON パッチの仕組みについて詳しくは、API の基本ドキュメントを参照してください。
curl -X PATCH https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm
-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 '{
"body": [
{
"op": "replace",
"path": "/schedule/schedule",
"value": "45 * * * *"
}
]
}'
op
replace
です。path
path
の値を /schedule/schedule
に設定する必要があります。value
/schedule
の更新された値。この値は、cron スケジュールの形式で指定する必要があります。この例では、スケジュールされたクエリは毎時 45 分に実行されます。応答
成功応答は、HTTP ステータス 202(許可済み)とともに次のメッセージを返します。
{
"message": "Request to patch accepted",
"statusCode": 202
}
指定したスケジュール済みクエリの削除
/schedules
エンドポイントに DELETE リクエストを送信し、リクエストパスで削除するスケジュール済みクエリの ID を指定することで、指定したスケジュール済みクエリを削除できます。
API 形式
DELETE /schedules/{SCHEDULE_ID}
{SCHEDULE_ID}
id
値。リクエスト
curl -X DELETE https://platform.adobe.io/data/foundation/query/schedules/e95186d65a28abf00a495d82_28e74200-e3de-11e9-8f5d-7f27416c5f0d_sample_scheduled_query7omob151bm_birvwm
-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 ステータス 202(許可済み)とともに次のメッセージを返します。
{
"message": "Schedule deleted successfully",
"statusCode": 202
}