Show Menu
トピック×

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

Amazon Redshiftコネクタはベータ版です。 機能とドキュメントは、変更されることがあります。
フローサービスは、Adobe Experience Platform内の様々な異なるソースから顧客データを収集し、一元管理するために使用します。 このサービスは、ユーザーインターフェイスとRESTful APIを提供し、サポートされるすべてのソースを接続できます。
このチュートリアルでは、Flow Service APIを使用して、Experience PlatformをAmazon Redshiftに接続する手順(以下「Redshift」と呼びます)を順を追って説明します。

はじめに

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

必要な資格情報の収集

Redshiftとの接続にフローサービスを使用するには、次の接続プロパティを指定する必要があります。
Credential
説明
server
Redshiftアカウントに関連付けられているサーバー。
username
Redshiftアカウントに関連付けられているユーザー名。
password
Redshiftアカウントに関連付けられているパスワードです。
database
アクセスしているRedshiftデータベース。
開始方法の詳細については、 このRedshiftドキュメントを参照してください

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

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

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

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

接続仕様の検索

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

リクエスト
次のリクエストは、Redshiftの接続仕様を取得します。
curl -X GET \
    'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs?property=name=="amazon-redshift"' \
    -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 )を含むRedshiftの接続仕様を返します。 このIDは、次の手順でベース接続を作成する際に必要となります。
{
    "items": [
        {
            "id": "3416976c-a9ca-4bba-901a-1f08f66978ff",
            "name": "amazon-redshift",
            "providerId": "0ed90a81-07f4-4586-8190-b40eccef1c5a",
            "version": "1.0",
            "authSpec": [
                {
                    "name": "Basic Authentication",
                    "type": "Basic_Authentication",
                    "spec": {
                        "$schema": "http://json-schema.org/draft-07/schema#",
                        "type": "object",
                        "description": "defines auth params",
                        "properties": {
                            "server": {
                                "type": "string",
                                "description": "IP address or host name of the Amazon Redshift server"
                            },
                            "username": {
                                "type": "string",
                                "description": "Name of user who has access to the database"
                            },
                            "password": {
                                "type": "string",
                                "description": "Password for the user account",
                                "format": "password"
                            },
                            "database": {
                                "type": "string",
                                "description": "Name of the Amazon Redshift database"
                            }
                        },
                        "required": [
                            "server",
                            "username",
                            "password",
                            "database"
                        ]
                    }
                }
            ]
        }
    ]
}

ベース接続を作成する

ベース接続はソースを指定し、そのソースの資格情報を含みます。 異なるデータを取り込むために複数のソースコネクタを作成するために使用できるので、Redshiftアカウントごとに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": "amazon-redshift base connection",
        "description": "base connection for amazon-redshift,
        "auth": {
            "specName": "Basic Authentication",
            "params": {
                "server": "{SERVER}",
                "database": "{DATABASE}",
                "password": "{PASSWORD}",
                "username": "{USERNAME}"
            }
        },
        "connectionSpec": {
            "id": "3416976c-a9ca-4bba-901a-1f08f66978ff",
            "version": "1.0"
        }
    }'

プロパティ
説明
auth.params.server
Redshiftサーバー。
auth.params.database
Redshiftアカウントに関連付けられているデータベースです。
auth.params.password
Redshiftアカウントに関連付けられているパスワードです。
auth.params.username
Redshiftアカウントに関連付けられているユーザー名。
connectionSpec.id
前の手順で取得したRedshiftアカウント id の接続仕様です。
応答
正常な応答は、新たに作成されたベース接続の詳細(一意の識別子( id )を含む)を返します。 このIDは、次のチュートリアルでデータを調べるために必要です。
{
    "id": "373e88fc-43da-4e3c-be88-fc43da3e3c0f",
    "etag": "\"1700ce7b-0000-0200-0000-5e3b405e0000\""
}

次の手順

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