クエリテンプレート

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 結果の並べ替えに使用するフィールドを指定します。サポートされているフィールドは createdupdated です。例えば、orderby=created は、昇順で結果を並べ替えます。作成前に - を追加する(orderby=-created)と、項目が作成日の降順で並べ替えられます。
limit ページサイズの制限を指定して、ページに含める結果の数を制御します。(デフォルト値:20
start ゼロベースのナンバリングを使用して、応答リストをオフセットします。例えば、start=2 は、3 番目のクエリから開始するリストを返します。(デフォルト値:0
property フィールドに基づいて結果をフィルタリングします。フィルターは HTML エスケープする​必要があります。複数のコンマを使用して、複数のフィルターを組み合わせます。サポートされているフィールドは nameuserId です。サポートされている演算子は ==(等しい)だけです。例えば、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
}

このページ