[Ultimate]{class="badge positive"}

Flow Service APIを使用してSnowflakeをExperience Platformに接続します

IMPORTANT
Snowflake ソースは、Real-Time Customer Data Platform Ultimateを購入したユーザーがソースカタログで利用できます。

このガイドでは、Flow Service APIを使用してSnowflake ソースアカウントをAdobe Experience Platformに接続する方法について説明します。

はじめに

このガイドは、Adobe Experience Platform の次のコンポーネントを実際に利用および理解しているユーザーを対象としています。

  • ソース:Experience Platform を使用すると、データを様々なソースから取得しながら、Experience Platform サービスを使用して受信データの構造化、ラベル付け、拡張を行うことができます。
  • サンドボックス:Experience Platform には、単一の Experience Platform インスタンスを別々の仮想環境に分割して、デジタルエクスペリエンスアプリケーションの開発と発展に役立つ仮想サンドボックスが用意されています。

Experience Platform APIの使用

Experience Platform APIの呼び出しを正常に行う方法について詳しくは、Experience Platform APIの概要に関するガイドを参照してください。

次の節では、Flow Service APIを使用してSnowflakeに正常に接続するために知っておく必要がある追加情報を示します。

必要な資格情報の収集

認証について詳しくは、Snowflake 概要を参照してください。

SnowflakeをAzure上のExperience Platformに接続 azure

AzureでSnowflake ソースをExperience Platformに接続する方法について詳しくは、以下の手順を参照してください。

NOTE
Snowflake データベースからExperience Platformへのデータのアンロードを許可するには、PREVENT_UNLOAD_TO_INLINE_URL フラグをFALSEに設定する必要があります。

Azure上のExperience PlatformでSnowflakeのベース接続を作成する azure-base

ベース接続は、ソースの認証情報、接続の現在の状態、一意のベース接続IDなど、ソースとExperience Platform間の情報を保持します。 ベース接続 ID により、ソース内からファイルを参照および移動し、データタイプやフォーマットに関する情報を含む、取り込みたい特定の項目を識別することができます。

ベース接続IDを作成するには、Snowflake認証情報をリクエスト本文の一部として提供しながら、/connections エンドポイントにPOST リクエストを行います。

API 形式

POST /connections
暗号化された秘密鍵を使用したキーペア認証
accordion
リクエスト
code language-shell
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: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Snowflake base connection with encrypted private key",
      "description": "Snowflake base connection with encrypted private key",
      "auth": {
        "specName": "KeyPair Authentication",
        "params": {
            "account": "acme-snowflake123",
            "username": "acme-cj123",
            "database": "ACME_DB",
            "privateKey": "{BASE_64_ENCODED_PRIVATE_KEY}",
            "privateKeyPassphrase": "abcd1234",
            "warehouse": "COMPUTE_WH"
        }
    },
    "connectionSpec": {
        "id": "b2e08744-4f1a-40ce-af30-7abac3e23cf3",
        "version": "1.0"
    }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2
プロパティ 説明
auth.params.account Snowflake アカウントの名前。
auth.params.username Snowflake アカウントに関連付けられているユーザー名。
auth.params.database データの取得元となるSnowflake データベース。
auth.params.privateKey お客様のSnowflake アカウントのBase64- エンコード済み暗号化された秘密鍵。
auth.params.privateKeyPassphrase 秘密鍵に対応するパスフレーズ。
auth.params.warehouse 使用しているSnowflake ウェアハウス。
connectionSpec.id Snowflake接続仕様ID: b2e08744-4f1a-40ce-af30-7abac3e23cf3
accordion
応答

リクエストが成功した場合は、一意の ID(id)を含む、新しく作成した接続の詳細が返されます。

code language-json
{
    "id": "2fce94c1-9a93-4971-8e94-c19a93097129",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
暗号化されていない秘密鍵を使用したキーペア認証
accordion
リクエスト
code language-shell
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: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Snowflake base connection with unencrypted private key",
      "description": "Snowflake base connection with unencrypted private key",
      "auth": {
        "specName": "KeyPair Authentication",
        "params": {
            "account": "acme-snowflake123",
            "username": "acme-cj123",
            "database": "ACME_DB",
            "privateKey": "{BASE_64_ENCODED_PRIVATE_KEY}",
            "warehouse": "COMPUTE_WH"
        }
    },
    "connectionSpec": {
        "id": "b2e08744-4f1a-40ce-af30-7abac3e23cf3",
        "version": "1.0"
    }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
プロパティ 説明
auth.params.account Snowflake アカウントの名前。
auth.params.username Snowflake アカウントに関連付けられているユーザー名。
auth.params.database データの取得元となるSnowflake データベース。
auth.params.privateKey お客様のSnowflake アカウントのBase64- エンコードされた暗号化されていない秘密鍵。
auth.params.warehouse 使用しているSnowflake ウェアハウス。
connectionSpec.id Snowflake接続仕様ID: b2e08744-4f1a-40ce-af30-7abac3e23cf3
accordion
応答

リクエストが成功した場合は、一意の ID(id)を含む、新しく作成した接続の詳細が返されます。

code language-json
{
    "id": "2fce94c1-9a93-4971-8e94-c19a93097129",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}

SnowflakeをAmazon Web Services (AWS)上のExperience Platformに接続 aws

AVAILABILITY
この節は、Amazon Web Services(AWS)で動作するExperience Platformの実装に適用されます。 AWS上で動作するExperience Platformは、現在、一部のお客様にご利用いただけます。 サポートされているExperience Platform インフラストラクチャについて詳しくは、Experience Platform マルチクラウドの概要を参照してください。

AWSでSnowflake ソースをExperience Platformに接続する方法について詳しくは、以下の手順を参照してください。

AWSのExperience PlatformでSnowflakeのベース接続を作成する aws-base

API 形式

POST /connections
基本認証

次のリクエストは、SnowflakeがAWS上のExperience Platformにデータを取り込むためのベース接続を作成します。

accordion
リクエスト
code language-shell
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: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Snowflake base connection for Experience Platform on AWS",
      "description": "Snowflake base connection for Experience Platform on AWS",
      "auth": {
          "specName": "Basic Authentication",
          "params": {
              "host": "acme.snowflakecomputing.com",
              "port": "443",
              "username": "acme-cj123",
              "password": "{PASSWORD}",
              "database": "ACME_DB",
              "warehouse": "COMPUTE_WH",
              "schema": "{SCHEMA}"
          }
      },
      "connectionSpec": {
          "id": "b2e08744-4f1a-40ce-af30-7abac3e23cf3",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2
プロパティ 説明
auth.params.host Snowflake アカウントが接続するホスト URL。
auth.params.port インターネット経由でサーバーに接続する際にSnowflakeが使用するポート番号。
auth.params.username Snowflake アカウントに関連付けられているユーザー名。
auth.params.database データの取得元となるSnowflake データベース。
auth.params.password Snowflake アカウントに関連付けられているパスワード。
auth.params.warehouse 使用しているSnowflake ウェアハウス。
auth.params.schema Snowflake データベースに関連付けられているスキーマの名前。 データベースにアクセス権を付与するユーザーがこのスキーマにもアクセス権を持っていることを確認する必要があります。
accordion
応答

リクエストが成功した場合は、一意の ID(id)を含む、新しく作成した接続の詳細が返されます。

code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}
暗号化されていない秘密鍵を使用したキーペア認証
accordion
リクエスト
code language-shell
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: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Snowflake base connection with unencrypted private key",
      "description": "Snowflake base connection with unencrypted private key",
      "auth": {
        "specName": "KeyPair Authentication",
        "params": {
            "account": "acme-snowflake123",
            "username": "acme-cj123",
            "database": "ACME_DB",
            "privateKey": "{BASE_64_ENCODED_PRIVATE_KEY}",
            "warehouse": "COMPUTE_WH"
        }
    },
    "connectionSpec": {
        "id": "b2e08744-4f1a-40ce-af30-7abac3e23cf3",
        "version": "1.0"
    }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
プロパティ 説明
auth.params.account Snowflake アカウントの名前。
auth.params.username Snowflake アカウントに関連付けられているユーザー名。
auth.params.database データの取得元となるSnowflake データベース。
auth.params.privateKey お客様のSnowflake アカウントのBase64- エンコードされた暗号化されていない秘密鍵。
auth.params.warehouse 使用しているSnowflake ウェアハウス。
connectionSpec.id Snowflake接続仕様ID: b2e08744-4f1a-40ce-af30-7abac3e23cf3
accordion
応答

リクエストが成功した場合は、一意の ID(id)を含む、新しく作成した接続の詳細が返されます。

code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}

このチュートリアルでは、Flow Service API を使用して Snowflake ベース接続を作成しました。 このベース接続 ID は、次のチュートリアルで使用できます。

recommendation-more-help
experience-platform-help-sources