Show Menu
トピック×

Flow Service APIを使用してGoogle BigQueryコネクタを作成する

Google BigQueryコネクタはベータ版です。 ベータラベル付きのコネクタの使用について詳しくは、 ソースの概要 「」を参照してください。
フローサービスは、Adobe Experience Platform内のさまざまな異なるソースから顧客データを収集および一元化するために使用します。 このサービスは、ユーザーインターフェイスとRESTful APIを提供し、サポートされるすべてのソースを接続できます。
このチュートリアルでは、Flow Service APIを使用して、Experience PlatformをGoogle BigQuery(以下「BigQuery」と呼ばれる)に接続する手順を順を追って説明します。

はじめに

このガイドでは、次のAdobe Experience Platformのコンポーネントについて、十分に理解している必要があります。
  • ソース : Experience Platformを使用すると、Platformサービスを使用して、様々なソースからデータを取り込み、データの構造、ラベル付け、および入力データの拡張を行うことができます。
  • サンドボックス : Experience Platformは、1つのPlatformインスタンスを別々の仮想環境に分割し、デジタルエクスペリエンスアプリケーションの開発と発展に役立つ仮想サンドボックスを提供します。
次の節では、Flow Service APIを使用してBigQueryに正しく接続するために知っておく必要がある追加情報について説明します。

必要な資格情報の収集

フローサービスがBigQueryと接続するには、次の接続プロパティを指定する必要があります。
Credential
説明
project
クエリするデフォルトのBigQueryプロジェクトのプロジェクトID。
clientID
更新トークンの生成に使用されるID値。
clientSecret
更新トークンの生成に使用されるシークレット値。
refreshToken
BigQueryへのアクセスを許可するために使用される、Googleから取得される更新トークンです。
これらの値の詳細については、 このBigQueryドキュメントを参照してください

サンプルAPI呼び出しの読み取り

このチュートリアルでは、リクエストをフォーマットする方法を示すAPI呼び出しの例を提供します。 例えば、パス、必須のヘッダー、適切にフォーマットされた要求ペイロードなどです。 API応答で返されるサンプルJSONも提供されます。 サンプルAPI呼び出しのドキュメントで使用される規則について詳しくは、Experience PlatformトラブルシューティングガイドのAPI呼び出し例 の読み方に関する節 を参照してください。

必要なヘッダーの値の収集

PlatformAPIを呼び出すには、まず 認証チュートリアルを完了する必要があります 。 次に示すように、Experience PlatformAPIのすべての呼び出しに必要な各ヘッダーの値を認証チュートリアルで説明します。
  • 認証: 無記名 {ACCESS_TOKEN}
  • x-api-key: {API_KEY}
  • x-gw-ims-org-id: {IMS_ORG}
フローサービスに属するリソースを含む、Experience Platform内のすべてのリソースは、特定の仮想サンドボックスに分離されます。 PlatformAPIへのすべてのリクエストには、操作が実行されるサンドボックスの名前を指定するヘッダーが必要です。
  • x-sandbox-name: {SANDBOX_NAME}
ペイロード(POST、PUT、PATCH)を含むすべての要求には、追加のメディアタイプヘッダーが必要です。
  • Content-Type: application/json

接続仕様の検索

BigQuery接続を作成するには、一連のBigQuery接続指定がフローサービス内に存在する必要があります。 PlatformをBigQueryに接続する最初の手順は、これらの仕様を取得することです。
API形式
使用可能な各ソースには、認証要件などのコネクタプロパティを記述するための固有の接続仕様のセットがあります。 GET要求を実行し、クエリパラメータを使用して、BigQueryの接続仕様を検索できます。
クエリパラメータを指定せずにGET要求を送信すると、使用可能なすべてのソースの接続仕様が返されます。 このクエリを含めて、BigQuery専用 property=name=="google-big-query" の情報を取得できます。
GET /connectionSpecs
GET /connectionSpecs?property=name=="google-big-query"

リクエスト
次のリクエストは、BigQueryの接続仕様を取得します。
curl -X GET \
    'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs?property=name=="google-big-query"' \
    -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}'

応答
正常な応答は、一意の識別子( id )を含むBigQueryの接続仕様を返します。 このIDは、次の手順でベース接続を作成する際に必要となります。
{
    "items": [
        {
            "id": "3c9b37f8-13a6-43d8-bad3-b863b941fedd",
            "name": "google-big-query",
            "providerId": "0ed90a81-07f4-4586-8190-b40eccef1c5a",
            "version": "1.0",
            "authSpec": [
                {
                    "name": "Basic Authentication",
                    "spec": {
                        "$schema": "http://json-schema.org/draft-07/schema#",
                        "type": "object",
                        "description": "defines auth params",
                        "properties": {
                            "project": {
                                "type": "string",
                                "description": "The project ID of the default BigQuery project to query against"
                            },
                            "clientId": {
                                "type": "string",
                                "description": "ID of the application used to generate the refresh token."
                            },
                            "clientSecret": {
                                "type": "string",
                                "description": "Secret of the application used to generate the refresh token.",
                                "format": "password"
                            },
                            "refreshToken": {
                                "type": "string",
                                "description": "The refresh token obtained from Google used to authorize access to BigQuery.",
                                "format": "password"
                            }
                        },
                        "required": [
                            "project",
                            "clientId",
                            "clientSecret",
                            "refreshToken"
                        ]
                    }
                }
            ]
        }
    ]
}

ベース接続を作成する

ベース接続はソースを指定し、そのソースの資格情報を含みます。 異なるデータを取り込むために複数のソースコネクタを作成する場合に使用できるので、BigQueryアカウントごとに必要なベース接続は1つだけです。
API形式
POST /connections

リクエスト
curl -X POST \
    'https://platform.adobe.io/data/foundation/flowservice/connections' \
    -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}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "BigQuery base connection",
        "description": "Base connection for Google BigQuery",
        "auth": {
            "specName": "Basic Authentication",
            "params": {
                "project": "{PROJECT}",
                "clientId": "{CLIENT_ID}",
                "clientSecret": "{CLIENT_SECRET}",
                "refreshToken": "{REFRESH_TOKEN}"
            }
        },
        "connectionSpec": {
            "id": "3c9b37f8-13a6-43d8-bad3-b863b941fedd",
            "version": "1.0"
    }'

プロパティ
説明
auth.params.project
クエリするデフォルトのBigQueryプロジェクトのプロジェクトID。 対して
auth.params.clientId
更新トークンの生成に使用されるID値。
auth.params.clientSecret
更新トークンの生成に使用されるクライアント値。
auth.params.refreshToken
BigQueryへのアクセスを許可するために使用される、Googleから取得される更新トークンです。
connectionSpec.id
前の手順 id で取得したBigQueryアカウントの接続指定です。
応答
正常な応答は、新たに作成されたベース接続の詳細(一意の識別子( id )を含む)を返します。 このIDは、次のチュートリアルでデータを調べるために必要です。
{
    "id": "26ced882-729b-470f-8ed8-82729b570f03",
    "etag": "\"6507cfd8-0000-0200-0000-5e18fc600000\""
}

次の手順

このチュートリアルに従うことで、Flow Service APIを使用してBigQueryベースの接続を作成し、接続の一意のID値を取得しました。 フローサービスAPIを使用してデータベースやNoSQLシステムを 探索する方法を学ぶ際に、次のチュートリアルでこの基本接続IDを使用できます