建立查詢

您可以對/queries端點發出POST要求,以建立新查詢。

API格式

POST /queries

要求

以下請求會建立新查詢,並在承載中提供SQL陳述式:

curl -X POST https://platform.adobe.io/data/foundation/query/queries \
 -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 '{
        "dbName": "prod:all",
        "sql": "SELECT account_balance FROM user_data WHERE user_id='$user_id';",
        "queryParameters": {
            user_id : {USER_ID}
            }
        "name": "Sample Query",
        "description": "Sample Description"
    }

以下請求範例會使用現有查詢範本ID建立新查詢。

curl -X POST https://platform.adobe.io/data/foundation/query/queries \
 -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 '{
        "dbName": "prod:all",
        "templateID": "f7cb5155-29da-4b95-8131-8c5deadfbe7f",
        "name": "Sample Query",
        "description": "Sample Description"
    }
屬性說明
dbName您正在建立SQL查詢的資料庫名稱。
sql您要建立的SQL查詢。
nameSQL查詢的名稱。
descriptionSQL查詢的說明。
queryParameters鍵值配對,取代SQL陳述式中的任何引數化值。 只有在您提供的SQL中使用引數取代時,才需要​ if。 將不會對這些索引鍵值配對執行任何值型別檢查。
templateId既有查詢的唯一識別碼。 您可以提供此項而不是SQL陳述式。
insertIntoParameters(選擇性)如果此屬性已定義,則此查詢將轉換為INSERT INTO查詢。
ctasParameters(選擇性)如果此屬性已定義,此查詢將轉換為CTAS查詢。

回應

成功的回應會傳回HTTP狀態202 (已接受)以及您新建立查詢的詳細資料。 一旦查詢完成啟動並成功執行,state將從SUBMITTED變更為SUCCESS

{
    "isInsertInto": false,
    "request": {
        "dbName": "prod:all",
        "sql": "SELECT * FROM accounts;",
        "name": "Sample Query",
        "description": "Sample Description"
    },
    "state": "SUBMITTED",
    "rowCount": 0,
    "errors": [],
    "isCTAS": false,
    "version": 1,
    "id": "4d64cd49-cf8f-463a-a182-54bccb9954fc",
    "elapsedTime": 0,
    "updated": "2020-01-08T21:47:46.865Z",
    "client": "API",
    "userId": "{USER_ID}",
    "created": "2020-01-08T21:47:46.865Z",
    "_links": {
        "self": {
            "href": "https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc",
            "method": "GET"
        },
        "soft_delete": {
            "href": "https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc",
            "method": "PATCH",
            "body": "{ \"op\": \"soft_delete\"}"
        },
        "cancel": {
            "href": "https://platform.adobe.io/data/foundation/query/queries/4d64cd49-cf8f-463a-a182-54bccb9954fc",
            "method": "PATCH",
            "body": "{ \"op\": \"cancel\"}"
        }
    }
}
NOTE
您可以使用_links.cancel的值來取消您建立的查詢