이제 사용할 헤더를 이해하므로 Query Service API에 대한 호출을 시작할 준비가 되었습니다. 다음 섹션에서는 Query Service API를 사용하여 수행할 수 있는 다양한 API 호출을 설명합니다. 각 호출에는 일반 API 형식, 필요한 헤더를 표시하는 샘플 요청 및 샘플 응답이 포함됩니다.
종단점에 대한 GET 요청을 수행하여 IMS 조직에 대해 예약된 모든 쿼리 목록을 검색할 수 /schedules
있습니다.
API 형식
GET /schedules
GET /schedules?{QUERY_PARAMETERS}
속성 | 설명 |
---|---|
{QUERY_PARAMETERS} |
(선택사항) 응답에서 반환된 결과를 구성하는 요청 경로에 추가된 매개 변수입니다. 여러 매개 변수를 앰퍼샌드(앰퍼샌드)로 구분하여 포함할 수& 있습니다. 사용 가능한 매개 변수는 아래에 나열되어 있습니다. |
쿼리 매개 변수
다음은 예약된 쿼리를 나열하기 위한 사용 가능한 쿼리 매개 변수 목록입니다. 이러한 매개 변수는 모두 선택 사항입니다. 매개 변수가 없는 이 끝점을 호출하면 조직에서 사용할 수 있는 모든 예약된 쿼리를 검색합니다.
매개 변수 | 설명 |
---|---|
orderby |
결과를 주문할 필드를 지정합니다. 지원되는 필드는 created 및 updated 입니다. 예를 들어, 결과를 오름차순으로 정렬합니다 orderby=created . 만들기 - 전(orderby=-created )을 추가하면 항목들이 내림차순으로 정렬됩니다. |
limit |
페이지에 포함된 결과 수를 제어하기 위해 페이지 크기 제한을 지정합니다. (Default value: 20) |
start |
제로 기반 번호 지정을 사용하여 응답 목록을 오프셋합니다. 예를 들어 세 번째 나열된 쿼리에서 시작하는 목록을 start=2 반환합니다. (Default value: 0) |
property |
필드를 기반으로 결과를 필터링합니다. 필터는 HTML을 escape해야 합니다 . 쉼표는 여러 필터 집합을 결합하는 데 사용됩니다. 지원되는 필드는 created , templateId 및 userId 입니다. 지원되는 연산자 목록은 > (보다 큼), < (보다 작음) 및 == (같음)입니다. 예를 들어 사용자 ID가 지정된 모든 예약된 쿼리를 userId==6ebd9c2d-494d-425a-aa91-24033f3abeec 반환합니다. |
요청
다음 요청은 IMS 조직에 대해 만들어진 최신 예약 쿼리를 검색합니다.
curl -X GET https://platform.adobe.io/data/foundation/query/schedules?limit=1
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
응답
성공적인 응답은 지정된 IMS 조직에 대해 예약된 쿼리 목록이 있는 HTTP 상태 200을 반환합니다. 다음 응답은 IMS 조직에 대해 생성된 최신 예약 쿼리를 반환합니다.
{
"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
}
종단점에 POST 요청을 만들어 새 예약된 쿼리를 만들 수 /schedules
있습니다.
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: {IMS_ORG}' \
-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 |
만들려는 SQL 쿼리입니다. |
query.name |
예약된 쿼리의 이름입니다. |
schedule.schedule |
쿼리의 크론 예약입니다. cron 일정에 대한 자세한 내용은 cron expression format 설명서를 참조하십시오. 이 예에서 "30 * * * * * *"는 30분 표시에서 매시간마다 쿼리가 실행됨을 의미합니다. |
schedule.startDate |
UTC 타임스탬프로 기록된 예약된 쿼리의 시작 날짜입니다. |
응답
성공적인 응답은 새로 만든 예약된 쿼리의 세부 정보와 함께 HTTP 상태 202(허용됨)를 반환합니다. 예약된 쿼리 활성화가 완료되면 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
를 삭제할 수 있습니다.
종단점에 GET 요청을 하고 요청 경로에 해당 ID를 제공하여 특정 예약된 쿼리에 대한 정보를 검색할 수 /schedules
있습니다.
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: {IMS_ORG}' \
-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
를 삭제할 수 있습니다.
종단점에 PATCH 요청을 하고 요청 경로에 해당 ID를 제공하여 지정된 예약된 쿼리의 세부 사항을 업데이트할 수 /schedules
있습니다.
PATCH 요청은 두 가지 다른 경로를 지원합니다. /state
및 /schedule/schedule
.
선택한 예약 쿼리 /state
의 상태(ENABLED 또는 DISABLED)를 업데이트하는 데 사용할 수 있습니다. 상태를 업데이트하려면 값을 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: {IMS_ORG}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '{
"body": [
{
"op": "replace",
"path": "/state",
"value": "disable"
}
]
}'
속성 | 설명 |
---|---|
path |
패치할 값의 경로입니다. 이 경우 예약된 쿼리의 상태를 업데이트하기 때문에 값을 path 로 설정해야 합니다 /state . |
value |
의 업데이트된 값 /state . 이 값은 예약된 쿼리를 활성화하거나 비활성화하기 enable 로 disable 설정할 수 있습니다. |
응답
성공적인 응답은 다음 메시지와 함께 HTTP 상태 202(허용됨)를 반환합니다.
{
"message": "Request to patch accepted",
"statusCode": 202
}
을 사용하여 예약된 쿼리 /schedule/schedule
의 크론 일정을 업데이트할 수 있습니다. cron 일정에 대한 자세한 내용은 cron expression format 설명서를 참조하십시오.
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: {IMS_ORG}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
-d '{
"body": [
{
"op": "replace",
"path": "/schedule/schedule",
"value": "45 * * * *"
}
]
}'
속성 | 설명 |
---|---|
path |
패치할 값의 경로입니다. 이 경우 예약된 쿼리의 예약을 업데이트하므로 값을 path 다음으로 설정해야 합니다 /schedule/schedule . |
value |
의 업데이트된 값 /schedule . 이 값은 cron 일정 형식이어야 합니다. 따라서 이 예에서는 예약된 쿼리가 45분 표시에서 매 시간마다 실행됩니다. |
응답
성공적인 응답은 다음 메시지와 함께 HTTP 상태 202(허용됨)를 반환합니다.
{
"message": "Request to patch accepted",
"statusCode": 202
}
종단점에 DELETE 요청을 만들고 요청 경로에서 삭제하려는 예약된 쿼리의 ID를 제공하여 지정된 예약 쿼리를 삭제할 수 있습니다. /schedules
삭제하기 전에 예약을 비활성화해야 합니다.
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: {IMS_ORG}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
응답
성공적인 응답은 다음 메시지와 함께 HTTP 상태 202(허용됨)를 반환합니다.
{
"message": "Schedule deleted successfully",
"statusCode": 202
}