Show Menu
トピック×

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

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

はじめに

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

必要な資格情報の収集

フローサービスがMySQLストレージと接続するには、次の接続プロパティの値を指定する必要があります。
Credential
説明
connectionString
アカウントに関連付けられているMySQL接続文字列。
接続文字列の詳細と、MySQLドキュメントを読むことによる接続文字列の取得方法について詳し く説明します

サンプル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

接続仕様の検索

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

リクエスト
次のリクエストは、MySQLの接続仕様を取得します。
curl -X GET \
    'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs?property=name=="mysql"' \
    -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 )を含むMySQLの接続仕様が返されます。 このIDは、次のベース接続を作成する手順で必要になります。
{
    "items": [
        {
            "id": "26d738e0-8963-47ea-aadf-c60de735468a",
            "name": "mysql",
            "providerId": "0ed90a81-07f4-4586-8190-b40eccef1c5a",
            "version": "1.0",
            "authSpec": [
                {
                    "name": "Connection String Based Authentication",
                    "type": "connectionStringAuth",
                    "spec": {
                        "$schema": "http://json-schema.org/draft-07/schema#",
                        "type": "object",
                        "description": "defines auth params required for connecting to MySql",
                        "properties": {
                            "connectionString": {
                                "type": "string",
                                "description": "connection string to connect to any MySql instance.",
                                "format": "password",
                                "pattern": "^([sS]erver=)(.*)( ?;[pP]ort=)(.*)(; ?[dD]atabase=)(.*)(; ?[uU]id=)(.*)(; ?[pP]wd=)(.*)(;)",
                                "examples": [
                                    "Server=myserver.mysql.database.azure.com; Port=3306; Database=my_sql_db; Uid=username; Pwd=password; SslMode=Preferred;"
                                ]
                            }
                        },
                        "required": [
                            "connectionString"
                        ]
                    }
                }
            ]
        }
    ]
}

ベース接続を作成する

ベース接続はソースを指定し、そのソースの資格情報を含みます。 異なるデータを取り込むために複数のソースコネクタを作成する場合に使用できるので、MySQLアカウントごとに必要なベース接続は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": "MySQL Test Connection",
        "description": "MySQL Test Connection",
        "auth": {
            "specName": "Connection String Based Authentication",
            "params": {
                "connectionString": "{CONNECTION_STRING}"
            }
        },
        "connectionSpec": {
            "id": "26d738e0-8963-47ea-aadf-c60de735468a",
            "version": "1.0"
        }
    }'

プロパティ
説明
auth.params.connectionString
MySQLアカウントに関連付けられている接続文字列。
connectionSpec.id
MySQLアカウントに関連付けられている接続仕様のID。
応答
正常な応答は、新たに作成されたベース接続の詳細(一意の識別子( id )を含む)を返します。 このIDは、次のチュートリアルでデータを調べるために必要です。
{
    "id": "1a444165-3439-4c16-8441-653439dc166a",
    "etag": "\"5b04c219-0000-0200-0000-5e179c8f0000\""
}

次の手順

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