Show Menu
トピック×

クエリテンプレート

API 呼び出しの例

Now that you understand what headers to use, you are ready to begin making calls to the Query Service API. The following sections walk through the various API calls you can make using the Query Service API. 各呼び出しでは一般的な API 形式、必須ヘッダーを示すリクエスト例および応答例が示されています。

クエリテンプレートのリストの取得

/query-templates エンドポイントに GET リクエストを実行することで、IMS 組織のすべてのクエリテンプレートのリストを取得できます。
API 形式
GET /query-templates
GET /query-templates?{QUERY_PARAMETERS}

プロパティ
説明
{QUERY_PARAMETERS}
オプション )リクエストパスに追加されるパラメーター。このリクエストパスは応答で返される結果を設定します。複数のパラメーターを使用する場合は、アンパサンド( & )で区切ります。使用できるパラメーターは以下のとおりです。
クエリパラメーター
次に、クエリテンプレートを一覧表示するために使用可能なクエリパラメータ-のリストを示します。これらのパラメーターはすべてオプションです。パラメーターを指定しないでこのエンドポイントを呼び出すと、組織で使用可能なすべてのクエリテンプレートが取得されます。
パラメーター
説明
orderby
結果の並べ替えに使用するフィールドを指定します。サポートされているフィールドは created updated です。例えば、 orderby=created は、昇順で結果を並べ替えます。作成前に - を追加する( orderby=-created )と、項目が作成日の降順で並べ替えられます。
limit
ページサイズの制限を指定して、ページに含める結果の数を制御します。( デフォルト値:20
start
ゼロベースのナンバリングを使用して、応答リストをオフセットします。例えば、 start=2 は、3 番目のクエリから開始するリストを返します。( デフォルト値:0
property
フィールドに基づいて結果をフィルタリングします。フィルターは HTML エスケープする​ 必要があります 。複数のコンマを使用して、複数のフィルターを組み合わせます。サポートされているフィールドは name userId です。サポートされている演算子は == (等しい)だけです。例えば、 name==my_template は、 my_template という名前を持つすべてのクエリテンプレートを返します。
リクエスト
次のリクエストは、IMS 組織用に作成された最新のクエリテンプレートを取得します。
curl -X GET https://platform.adobe.io/data/foundation/query/query-templates?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}'

応答
正常な応答は、HTTP ステータス 200 と指定された IMS 組織のクエリテンプレートのリストを返します。次の応答は、IMS 組織用に作成された最新のクエリテンプレートを返します。
{
    "templates": [
        {
            "sql": "SELECT *\nFROM\n  accounts\nLIMIT 10\n",
            "name": "Test",
            "id": "f7cb5155-29da-4b95-8131-8c5deadfbe7f",
            "updated": "2019-11-21T21:50:01.469Z",
            "userId": "{USER_ID}",
            "created": "2019-11-21T21:50:01.469Z",
            "_links": {
                "self": {
                    "href": "https://platform.adobe.io/data/foundation/query/query-templates/f7cb5155-29da-4b95-8131-8c5deadfbe7f",
                    "method": "GET"
                },
                "delete": {
                    "href": "https://platform.adobe.io/data/foundation/query/query-templates/f7cb5155-29da-4b95-8131-8c5deadfbe7f",
                    "method": "DELETE"
                },
                "update": {
                    "href": "https://platform.adobe.io/data/foundation/query/query-templates/f7cb5155-29da-4b95-8131-8c5deadfbe7f",
                    "method": "PUT",
                    "body": "{\"sql\" : \"new sql \", \"name\" : \"new name\"}"
                }
            }
        }
    ],
    "_page": {
        "orderby": "-created",
        "start": "2019-11-21T21:50:01.469Z",
        "next": "2019-11-21T21:50:01.469Z",
        "count": 1
    },
    "_links": {
        "next": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates?orderby=-created&start=2019-11-21T21:50:01.469Z"
        },
        "prev": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates?orderby=-created&start=2019-11-21T21:50:01.469Z&isPrevLink=true"
        }
    },
    "version": 1
}

_links.delete の値を使用して、 テンプレートを削除 できます。

クエリテンプレートの作成

/query-templates エンドポイントに POST リクエストを実行することで、クエリテンプレートを作成できます。
API 形式
POST /query-templates

リクエスト
curl -X POST https://platform.adobe.io/data/foundation/query/query-templates
 -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 '{
        "sql": "SELECT * FROM accounts;",
        "name": "Sample query template"
    }'

プロパティ
説明
sql
作成する SQL クエリ。
name
テンプレートのクエリ名。
応答
正常な応答は、HTTP ステータス 202(受け入れ済み)と、新しく作成されたクエリテンプレートの詳細を返します。
{
    "sql": "SELECT * FROM accounts;",
    "name": "Sample query template",
    "id": "0094d000-9062-4e6a-8fdb-05606805f08f",
    "updated": "2020-01-09T00:20:09.670Z",
    "userId": "{USER_ID}",
    "created": "2020-01-09T00:20:09.670Z",
    "_links": {
        "self": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "GET"
        },
        "delete": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "DELETE"
        },
        "update": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "PUT",
            "body": "{\"sql\" : \"new sql \", \"name\" : \"new name\"}"
        }
    }
}

_links.delete の値を使用して、 テンプレートを削除 できます。

指定されたクエリテンプレートの取得

/query-templates/{TEMPLATE_ID} エンドポイントに GET リクエストを実行して、リクエストパスにクエリテンプレートの ID を指定することで、特定のクエリテンプレートを取得できます。
API 形式
GET /query-templates/{TEMPLATE_ID}

プロパティ
説明
{TEMPLATE_ID}
取得するクエリテンプレートの id 値。
リクエスト
curl -X GET https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f
 -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 と指定されたクエリテンプレートの詳細を返します。
{
    "sql": "SELECT * FROM accounts;",
    "name": "Sample query template",
    "id": "0094d000-9062-4e6a-8fdb-05606805f08f",
    "updated": "2020-01-09T00:20:09.670Z",
    "userId": "A5A562D15E1645480A495CE1@techacct.adobe.com",
    "created": "2020-01-09T00:20:09.670Z",
    "_links": {
        "self": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "GET"
        },
        "delete": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "DELETE"
        },
        "update": {
            "href": "https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "PUT",
            "body": "{\"sql\" : \"new sql \", \"name\" : \"new name\"}"
        }
    }
}

_links.delete の値を使用して、 テンプレートを削除 できます。

指定されたクエリテンプレートの更新

/query-templates/{TEMPLATE_ID} エンドポイントに PUT リクエストを実行して、リクエストパスにクエリテンプレートの ID を指定することで、特定のクエリテンプレートを更新できます。
API 形式
PUT /query-templates/{TEMPLATE_ID}

プロパティ
説明
{TEMPLATE_ID}
取得するクエリテンプレートの id 値。
リクエスト
PUT リクエストでは、sql と name の両方のフィールドに入力する必要があり、そのクエリテンプレートの現在の内容が​ 上書き ​されます。
curl -X PUT https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f
 -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 '{
    "sql": "SELECT * FROM accounts LIMIT 20;",
    "name": "Sample query template"
 }'

プロパティ
説明
sql
更新する SQL クエリ。
name
スケジュールされたクエリの名前。
応答
正常な応答は、HTTP ステータス 202(受け入れ済み)と、指定されたクエリテンプレートの更新された情報を返します。
{
    "sql": "SELECT * FROM accounts LIMIT 20;",
    "name": "Sample query template",
    "id": "0094d000-9062-4e6a-8fdb-05606805f08f",
    "updated": "2020-01-09T00:29:20.028Z",
    "lastUpdatedBy": "{USER_ID}",
    "userId": "{USER_ID}",
    "created": "2020-01-09T00:20:09.670Z",
    "_links": {
        "self": {
            "href": "https://platform.adobe.io/data/foundation/query/query_templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "GET"
        },
        "delete": {
            "href": "https://platform.adobe.io/data/foundation/query/query_templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "DELETE"
        },
        "update": {
            "href": "https://platform.adobe.io/data/foundation/query/query_templates/0094d000-9062-4e6a-8fdb-05606805f08f",
            "method": "PUT",
            "body": "{\"sql\" : \"new sql \", \"name\" : \"new name\"}"
        }
    }
}

_links.delete の値を使用して、 テンプレートを削除 できます。

指定されたクエリテンプレートの削除

/query-templates/{TEMPLATE_ID} に DELETE リクエストを実行して、リクエストパスにクエリテンプレートの ID を指定することで、特定のクエリテンプレートを削除できます。
API 形式
DELETE /query-templates/{TEMPLATE_ID}

プロパティ
説明
{TEMPLATE_ID}
取得するクエリテンプレートの id 値。
リクエスト
curl -X DELETE https://platform.adobe.io/data/foundation/query/query-templates/0094d000-9062-4e6a-8fdb-05606805f08f
 -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": "Deleted",
    "statusCode": 202
}