Flow Service APIを使用したデータベースの調査

このチュートリアルでは、Flow Service APIを使用して、サードパーティのデータベースのコンテンツとファイル構造を調べます。

はじめに

このガイドでは、Adobe Experience Platform の次のコンポーネントに関する作業を理解している必要があります。

  • ソース: Experience Platform 様々なソースからデータを取り込むことができ、 Platform サービスを使用してデータの構造化、ラベル付け、および入力データの拡張を行うことができます。
  • サンドボックス: Experience Platform は、1つの Platform インスタンスを個別の仮想環境に分割し、デジタルエクスペリエンスアプリケーションの開発と発展に役立つ仮想サンドボックスを提供します。

Flow Service APIを使用してサードパーティのデータベースに正常に接続するために必要な追加情報については、以下の節で説明します。

必要な資格情報の収集

このチュートリアルでは、データを取り込むサードパーティのデータベースとの有効な接続が必要です。 有効な接続には、データベースの接続仕様IDと接続IDが含まれます。 データベース接続の作成とこれらの値の取得について詳しくは、ソースコネクタの概要を参照してください。

API 呼び出し例の読み取り

このチュートリアルでは、API 呼び出しの例を提供し、リクエストの形式を設定する方法を示します。この中には、パス、必須ヘッダー、適切な形式のリクエストペイロードが含まれます。また、API レスポンスで返されるサンプル JSON も示されています。サンプル API 呼び出しのドキュメントで使用されている規則については、Experience Platform トラブルシューテングガイドのサンプル API 呼び出しの読み方に関する節を参照してください。

必須ヘッダーの値の収集

Platform API を呼び出すには、まず認証チュートリアルを完了する必要があります。次に示すように、認証チュートリアルを完了すると、すべてのExperience Platform API呼び出しに必要な各ヘッダーの値が提供されます。

  • Authorization: Bearer {ACCESS_TOKEN}
  • x-api-key: {API_KEY}
  • x-gw-ims-org-id: {IMS_ORG}

Experience Platform内のすべてのリソース(Flow Serviceに属するリソースを含む)は、特定の仮想サンドボックスに分離されます。 Platform APIへのすべてのリクエストには、操作が行われるサンドボックスの名前を指定するヘッダーが必要です。

  • x-sandbox-name: {SANDBOX_NAME}

ペイロード(POST、PUT、PATCH)を含むすべてのリクエストには、メディアのタイプを指定する以下のような追加ヘッダーが必要です。

  • Content-Type: application/json

データテーブルの調査

データベースの接続IDを使用して、GETリクエストを実行することで、データテーブルを調査できます。 次の呼び出しを使用して、Platformに検査または取り込むテーブルのパスを探します。

API 形式

GET /connections/{BASE_CONNECTION_ID}/explore?objectType=root
パラメーター 説明
{BASE_CONNECTION_ID} データベースソースの接続ID。

リクエスト

curl -X GET \
    'https://platform.adobe.io/data/foundation/flowservice/connections/6990abad-977d-41b9-a85d-17ea8cf1c0e4/explore?objectType=root' \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}'

応答

正常に応答すると、データベースからテーブルの配列が返されます。 Platformに取り込むテーブルを探し、そのpathプロパティをメモしておきます。これは、次の手順でその構造を調べるために指定する必要があるためです。

[
    {
        "type": "table",
        "name": "test1.Mytable",
        "path": "test1.Mytable",
        "canPreview": true,
        "canFetchSchema": true
    },
    {
        "type": "table",
        "name": "test1.austin_demo",
        "path": "test1.austin_demo",
        "canPreview": true,
        "canFetchSchema": true
    }
]

テーブルの構造をInspectにする

データベースからテーブルの構造を検査するには、テーブルのパスをクエリパラメーターとして指定しながらGETリクエストを実行します。

API 形式

GET /connections/{BASE_CONNECTION_ID}/explore?objectType=table&object={TABLE_PATH}
パラメーター 説明
{BASE_CONNECTION_ID} データベース接続のID。
{TABLE_PATH} テーブルのパス。

リクエスト

curl -X GET \
    'https://platform.adobe.io/data/foundation/flowservice/connections/6990abad-977d-41b9-a85d-17ea8cf1c0e4/explore?objectType=table&object=test1.Mytable' \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}'

応答

正常な応答は、指定されたテーブルの構造を返します。 各テーブルの列に関する詳細は、columns配列の要素内にあります。

{
    "format": "flat",
    "schema": {
        "columns": [
            {
                "name": "TestID",
                "type": "string",
                "xdm": {
                    "type": "string"
                }
            },
            {
                "name": "Name",
                "type": "string",
                "xdm": {
                    "type": "string"
                }
            }
        ]
    }
}

次の手順

このチュートリアルに従って、データベースを調べ、Platformに取り込むテーブルのパスを見つけ、その構造に関する情報を得ました。 この情報は、次のチュートリアルで使用して、データベースからデータを収集し、プラットフォームに取り込むことができます。

このページ