[Ultimate]{class="badge positive"}
使用Flow Service API串流Snowflake資料以Experience Platform
本教學課程提供如何使用Flow Service API將資料從您的Snowflake帳戶連線並串流到Adobe Experience Platform的步驟。
快速入門
本指南需要您深入了解下列 Adobe Experience Platform 元件:
有關Snowflake串流來源的先決條件設定和資訊。 請閱讀Snowflake 串流來源概觀。
使用平台API
如需如何成功呼叫Platform API的詳細資訊,請參閱Platform 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來源的其他資訊,請瀏覽下列檔案: