예약된 쿼리

샘플 API 호출

이제 사용할 헤더를 이해하므로 Query Service API에 대한 호출을 시작할 준비가 되었습니다. 다음 섹션에서는 Query Service API를 사용하여 수행할 수 있는 다양한 API 호출을 설명합니다. 각 호출에는 일반 API 형식, 필요한 헤더를 표시하는 샘플 요청 및 샘플 응답이 포함됩니다.

예약된 쿼리 목록 검색

종단점에 대한 GET 요청을 수행하여 IMS 조직에 대해 예약된 모든 쿼리 목록을 검색할 수 /schedules 있습니다.

API 형식

GET /schedules
GET /schedules?{QUERY_PARAMETERS}
속성 설명
{QUERY_PARAMETERS} (선택​사항) 응답에서 반환된 결과를 구성하는 요청 경로에 추가된 매개 변수입니다. 여러 매개 변수를 앰퍼샌드(앰퍼샌드)로 구분하여 포함할 수&있습니다. 사용 가능한 매개 변수는 아래에 나열되어 있습니다.

쿼리 매개 변수

다음은 예약된 쿼리를 나열하기 위한 사용 가능한 쿼리 매개 변수 목록입니다. 이러한 매개 변수는 모두 선택 사항입니다. 매개 변수가 없는 이 끝점을 호출하면 조직에서 사용할 수 있는 모든 예약된 쿼리를 검색합니다.

매개 변수 설명
orderby 결과를 주문할 필드를 지정합니다. 지원되는 필드는 createdupdated입니다. 예를 들어, 결과를 오름차순으로 정렬합니다 orderby=created . 만들기 - 전(orderby=-created)을 추가하면 항목들이 내림차순으로 정렬됩니다.
limit 페이지에 포함된 결과 수를 제어하기 위해 페이지 크기 제한을 지정합니다. (Default value: 20)
start 제로 기반 번호 지정을 사용하여 응답 목록을 오프셋합니다. 예를 들어 세 번째 나열된 쿼리에서 시작하는 목록을 start=2 반환합니다. (Default value: 0)
property 필드를 기반으로 결과를 필터링합니다. 필터는 HTML을 escape해야 합니다 . 쉼표는 여러 필터 집합을 결합하는 데 사용됩니다. 지원되는 필드는 created, templateIduserId입니다. 지원되는 연산자 목록은 > (보다 큼), < (보다 작음) 및 == (같음)입니다. 예를 들어 사용자 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. 이 값은 예약된 쿼리를 활성화하거나 비활성화하기 enabledisable 설정할 수 있습니다.

응답

성공적인 응답은 다음 메시지와 함께 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
}

이 페이지에서는