Ultimate
使用Flow Service API連線Snowflake至Experience Platform
建立對象:
- 開發人員
閱讀本指南,瞭解如何使用Flow Service API將您的Snowflake來源帳戶連結至Adobe Experience Platform。
快速入門
本指南需要您深入了解下列 Adobe Experience Platform 元件:
使用Experience Platform API
如需如何成功呼叫Experience Platform API的詳細資訊,請參閱Experience Platform API快速入門指南。
以下章節提供您需瞭解的其他資訊,才能使用Flow Service API成功連線到Snowflake。
在Azure上連線Snowflake至Experience Platform
請閱讀下列步驟,以瞭解如何在Azure上將您的Snowflake來源連線至Experience Platform。
收集必要的認證
您必須提供下列認證屬性的值,才能驗證您的Snowflake來源。
account
orgname-account_name
。 閱讀擷取 Snowflake 帳戶識別碼的指南,以取得其他指引。 如需詳細資訊,請參閱Snowflake 文件,以瞭解詳情。warehouse
database
username
password
role
PUBLIC
。connectionString
jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}
若要使用金鑰組驗證,您必須產生2048位元RSA金鑰組,然後在建立Snowflake來源的帳戶時提供下列值。
account
orgname-account_name
。 閱讀擷取 Snowflake 帳戶識別碼的指南,以取得其他指引。 如需詳細資訊,請參閱Snowflake 文件,以瞭解詳情。username
privateKey
privateKeyPassphrase
database
warehouse
如需這些值的詳細資訊,請參閱Snowflake 金鑰組驗證指南。
PREVENT_UNLOAD_TO_INLINE_URL
標幟設定為FALSE
,以允許從Snowflake資料庫將資料解除安裝至Experience Platform。在Azure上的Experience Platform上為Snowflake建立基礎連線
基本連線會保留來源與Experience Platform之間的資訊,包括來源的驗證認證、連線的目前狀態,以及唯一的基本連線ID。 基礎連線ID可讓您從來源內部探索及導覽檔案,並識別您要擷取的特定專案,包括其資料型別和格式的資訊。
若要建立基底連線ID,請在提供您的Snowflake驗證認證作為要求內文的一部分時,對/connections
端點提出POST要求。
API格式
POST /connections
下列要求會建立Snowflake的基礎連線:
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",
"description": "Snowflake base connection",
"auth": {
"specName": "ConnectionString",
"params": {
"connectionString": "jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}"
}
},
"connectionSpec": {
"id": "b2e08744-4f1a-40ce-af30-7abac3e23cf3",
"version": "1.0"
}
}'
auth.params.connectionString
jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}
。connectionSpec.id
b2e08744-4f1a-40ce-af30-7abac3e23cf3
。成功的回應會傳回新建立的連線,包括其唯一的連線識別碼(id
)。 在下個教學課程中探索您的資料時,需要此ID。
{
"id": "2fce94c1-9a93-4971-8e94-c19a93097129",
"etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
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"
}
}'
auth.params.account
auth.params.username
auth.params.database
auth.params.privateKey
auth.params.privateKeyPassphrase
auth.params.warehouse
connectionSpec.id
b2e08744-4f1a-40ce-af30-7abac3e23cf3
。成功的回應會傳回新建立的連線,包括其唯一的連線識別碼(id
)。 在下個教學課程中探索您的資料時,需要此ID。
{
"id": "2fce94c1-9a93-4971-8e94-c19a93097129",
"etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
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}",
"warehouse": "COMPUTE_WH"
}
},
"connectionSpec": {
"id": "b2e08744-4f1a-40ce-af30-7abac3e23cf3",
"version": "1.0"
}
}'
auth.params.account
auth.params.username
auth.params.database
auth.params.privateKey
auth.params.warehouse
connectionSpec.id
b2e08744-4f1a-40ce-af30-7abac3e23cf3
。成功的回應會傳回新建立的連線,包括其唯一的連線識別碼(id
)。 在下個教學課程中探索您的資料時,需要此ID。
{
"id": "2fce94c1-9a93-4971-8e94-c19a93097129",
"etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
將Snowflake連線到Amazon Web Services (AWS)上的Experience Platform
請閱讀下列步驟,以瞭解如何將Snowflake來源連線至AWS上的Experience Platform。
在AWS的Experience Platform上為Snowflake建立基礎連線
API格式
POST /connections
要求
下列請求會建立Snowflake的基礎連線,以將日期擷取至AWS上的Experience Platform:
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"
}
}'
auth.params.host
auth.params.port
auth.params.username
auth.params.database
auth.params.password
auth.params.warehouse
auth.params.schema
回應
成功的回應會傳回新建立連線的詳細資料,包括其唯一識別碼(id
)。 在下個教學課程中探索您的儲存空間時,需要此ID。
{
"id": "4cb0c374-d3bb-4557-b139-5712880adc55",
"etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}
依照此教學課程,您已使用Flow Service API建立Snowflake基礎連線。 您可以在下列教學課程中使用此基本連線ID: