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时需要了解的其他信息。
将Snowflake连接到Azure上的Experience Platform
有关如何将Snowflake源连接到Azure上的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: