[Ultimate]{class="badge positive"}
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の概要に関するガイドを参照してください。
次の節では、Flow Service APIを使用してSnowflakeに正常に接続するために知っておく必要がある追加情報を示します。
必要な資格情報の収集
認証について詳しくは、Snowflake 概要を参照してください。
AzureでSnowflake ソースをExperience Platformに接続する方法について詳しくは、以下の手順を参照してください。
Snowflake データベースからExperience Platformへのデータのアンロードを許可するには、PREVENT_UNLOAD_TO_INLINE_URL フラグをFALSEに設定する必要があります。
ベース接続は、ソースの認証情報、接続の現在の状態、一意のベース接続IDなど、ソースとExperience Platform間の情報を保持します。 ベース接続 ID により、ソース内からファイルを参照および移動し、データタイプやフォーマットに関する情報を含む、取り込みたい特定の項目を識別することができます。
ベース接続IDを作成するには、Snowflake認証情報をリクエスト本文の一部として提供しながら、/connections エンドポイントにPOST リクエストを行います。
API 形式
暗号化された秘密鍵を使用したキーペア認証
| 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\""
}
|
|
この節は、Amazon Web Services(AWS)で動作するExperience Platformの実装に適用されます。 AWS上で動作するExperience Platformは、現在、一部のお客様にご利用いただけます。 サポートされているExperience Platform インフラストラクチャについて詳しくは、
Experience Platform マルチクラウドの概要を参照してください。
AWSでSnowflake ソースをExperience Platformに接続する方法について詳しくは、以下の手順を参照してください。
API 形式
基本認証
次のリクエストは、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 は、次のチュートリアルで使用できます。