[Ultimate]{class="badge positive"}
使用Flow Service API流式传输Snowflake数据以Experience Platform
本教程提供了有关如何使用Flow Service API将数据从Snowflake帐户连接并流式传输到Adobe Experience Platform的步骤。
快速入门
本指南要求您对 Adobe Experience Platform 的以下组件有一定了解:
有关Snowflake流源的先决条件设置和信息。 请阅读Snowflake 流源概述。
使用平台API
有关如何成功调用平台API的信息,请参阅平台API快速入门指南。
创建基本连接 create-a-base-connection
基本连接会保留您的源和平台之间的信息,包括源的身份验证凭据、连接的当前状态以及唯一的基本连接ID。 基本连接ID允许您浏览和浏览源中的文件,并标识要摄取的特定项目,包括有关其数据类型和格式的信息。
要创建基本连接ID,请在将Snowflake身份验证凭据作为请求正文的一部分提供时,向/connections
端点发出POST请求。
API格式
POST /connections
请求
以下请求为Snowflake创建基本连接:
auth.specName
值,包括空格。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": "Basic Authentication for Snowflake",
"params": {
"account": "wixnnnd-ui60793.snowflakecomputing.com",
"database": "ACME_DB",
"warehouse": "ACME_WH",
"username": "nikola15",
"schema": "PUBLIC",
"password": "xxxx",
"role": "ACCOUNTADMIN"
}
},
"connectionSpec": {
"id": "51ae16c2-bdad-42fd-9fce-8d5dfddaf140",
"version": "1.0"
}
}'
auth.params.account
auth.params.database
auth.params.warehouse
auth.params.username
auth.params.schema
auth.params.password
auth.params.role
public
。connectionSpec.id
51ae16c2-bdad-42fd-9fce-8d5dfddaf140
。响应
成功的响应将返回新创建的基本连接及其对应的电子标记。
{
"id": "1b614dc0-b76e-41e1-b25f-09f4a9d3f111",
"etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}
浏览您的数据表 explore-your-data-tables
接下来,使用基本连接ID来浏览和导航源的数据表,方法是在提供基本连接ID作为参数的同时,向/connections/{BASE_CONNECTION_ID}/explore?objectType=root
端点发出GET请求。
API格式
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=root
{BASE_CONNECTION_ID}
请求
以下请求检索您的Snowflake流帐户的结构和内容。
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connections/1b614dc0-b76e-41e1-b25f-09f4a9d3f111/explore?objectType=root' \
-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}'
响应
成功的响应将在根级别返回源数据的结构和内容。
{
"items": [
{
"type": "table",
"name": "ACME"
}
]
}
items.type
items.names
创建源连接 create-a-source-connection
源连接创建和管理与摄取数据的外部源的连接。
要创建源连接,请向Flow Service API的/sourceConnections
端点发出POST请求。
API格式
POST /sourceConnections
请求
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
-H 'authorization: Bearer {ACCESS_TOKEN}' \
-H 'content-type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"name": "Snowflake Streaming Source Connection",
"description": "A source connection for Snowflake Streaming data",
"baseConnectionId": "1b614dc0-b76e-41e1-b25f-09f4a9d3f111",
"connectionSpec": {
"id": "51ae16c2-bdad-42fd-9fce-8d5dfddaf140",
"version": "1.0"
},
"params": {
"tableName": "ACME",
"timestampColumn": "dOb",
"backfill": "true",
"timezoneValue": "PST"
}
}'
baseConnectionId
connectionSpec.id
params.tableName
params.timestampColumn
params.backfill
params.timezoneValue
TIMESTAMP_NTZ
,则应提供此参数。 如果未提供,timezoneValue
将默认为UTC。响应
成功的响应将返回您的源连接ID及其对应的电子标记。 源连接ID将在后面的步骤中用于创建数据流。
{
"id": "61c0c5f1-bfe5-40f7-8f8c-a4dc175ddac6",
"etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}
创建数据流
要创建数据流以将数据从导览Snowflake帐户流式传输到Platform,您必须在提供以下值时向/flows
端点发出POST请求:
API格式
POST /flows
请求
以下请求为您的Snowflake帐户创建流式数据流。
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/flows' \
-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 Streaming Dataflow",
"description": "A dataflow for Snowflake streaming data",
"sourceConnectionIds": [
"61c0c5f1-bfe5-40f7-8f8c-a4dc175ddac6"
],
"targetConnectionIds": [
"78f41c31-3652-4a5e-b264-74331226dcf3"
],
"flowSpec": {
"id": "c1a19761-d2c7-4702-b9fa-fe91f0613e81",
"version": "1.0"
},
"transformations": [
{
"name": "Mapping",
"params": {
"mappingId": "44d42ed27c46499a80eb0c0705c38cbd",
"mappingVersion": 0
}
}
]
}'
sourceConnectionIds
targetConnectionIds
flowSpec.id
c1a19761-d2c7-4702-b9fa-fe91f0613e81
。transformations.params.mappingId
响应
成功的响应将返回您的流ID及其对应的电子标记。
{
"id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
"etag": "\"770029f8-0000-0200-0000-6019e7d40000\""
}
后续步骤
通过完成本教程,您已使用Flow Service API为Snowflake数据创建流式数据流。 有关Adobe Experience Platform源的其他信息,请访问以下文档: