Ultimate
使用Flow Service API連線Snowflake至Experience Platform
建立對象:
- 開發人員
閱讀本指南,瞭解如何使用Flow Service API將您的Snowflake來源帳戶連結至Adobe Experience Platform。
快速入門
本指南需要您深入了解下列 Adobe Experience Platform 元件:
使用平台API
如需如何成功呼叫Platform API的詳細資訊,請參閱Platform API快速入門的指南。
以下章節提供您需瞭解的其他資訊,才能使用Flow Service API成功連線到Snowflake。
在Azure上連線Snowflake至Experience Platform
請閱讀下列步驟,以瞭解如何在Azure上將您的Snowflake來源連線至Experience Platform。
收集必要的認證
您必須提供下列認證屬性的值,才能驗證您的Snowflake來源。
認證 | 說明 |
---|---|
account | 帳戶名稱可唯一識別組織內的帳戶。 在此情況下,您必須跨不同的Snowflake組織唯一識別帳戶。 若要這麼做,您必須在帳戶名稱前加上組織名稱。 例如: orgname-account_name 。 閱讀擷取 Snowflake 帳戶識別碼的指南,以取得其他指引。 如需詳細資訊,請參閱Snowflake 文件,以瞭解詳情。 |
warehouse | Snowflake倉儲管理應用程式的查詢執行程式。 每個Snowflake倉儲彼此獨立,在將資料傳送至Platform時必須個別存取。 |
database | Snowflake資料庫包含您要帶入Platform的資料。 |
username | Snowflake帳戶的使用者名稱。 |
password | Snowflake使用者帳戶的密碼。 |
role | 在Snowflake工作階段中使用的預設存取控制角色。 該角色應為已指派給指定使用者的現有角色。 預設角色為PUBLIC 。 |
connectionString | 用來連線至您Snowflake執行個體的連線字串。 Snowflake的連線字串模式為jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE} |
若要使用金鑰組驗證,您必須產生2048位元RSA金鑰組,然後在建立Snowflake來源的帳戶時提供下列值。
認證 | 說明 |
---|---|
account | 帳戶名稱可唯一識別組織內的帳戶。 在此情況下,您必須跨不同的Snowflake組織唯一識別帳戶。 若要這麼做,您必須在帳戶名稱前加上組織名稱。 例如: orgname-account_name 。 閱讀擷取 Snowflake 帳戶識別碼的指南,以取得其他指引。 如需詳細資訊,請參閱Snowflake 文件,以瞭解詳情。 |
username | 您Snowflake帳戶的使用者名稱。 |
privateKey | 您Snowflake帳戶的Base64-編碼私密金鑰。 您可以產生加密或未加密的私密金鑰。 如果您使用加密的私密金鑰,則在對Experience Platform進行驗證時,也必須提供私密金鑰複雜密碼。 如需詳細資訊,請參閱擷取 Snowflake 私密金鑰的指南。 |
privateKeyPassphrase | 私密金鑰複雜密碼是附加的安全性層級,在使用加密的私密金鑰進行驗證時必須使用此層級。 如果您使用未加密的私密金鑰,則不需要提供複雜密碼。 |
database | 包含您要擷取至Experience Platform之資料的Snowflake資料庫。 |
warehouse | Snowflake倉儲管理應用程式的查詢執行程式。 每個Snowflake倉儲彼此獨立,在將資料帶到Experience Platform時必須個別存取。 |
如需這些值的詳細資訊,請參閱Snowflake 金鑰組驗證指南。
PREVENT_UNLOAD_TO_INLINE_URL
標幟設定為FALSE
,以允許從Snowflake資料庫將資料解除安裝至Experience Platform。在Azure上的Experience Platform上為Snowflake建立基礎連線
基礎連線會保留您的來源和平台之間的資訊,包括來源的驗證認證、連線的目前狀態,以及您唯一的基本連線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: