串流 Snowflake 使用進行Experience Platform的資料 Flow Service API
- 此 Snowflake 串流來源為測試版。 請閱讀 來源概觀 以取得有關使用測試版標籤來源的詳細資訊。
- 此 Snowflake 已購買Real-time Customer Data Platform Ultimate的使用者可在API中使用串流來源。
本教學課程提供如何連線及串流資料的步驟 Snowflake Adobe Experience Platform帳戶使用 [Flow Service API] (https://www.adobe.io/experience-platform-apis/references/flow-service/).
快速入門
本指南需要您深入了解下列 Adobe Experience Platform 元件:
如需先決條件設定及相關資訊,請參閱 Snowflake 串流來源。 請閱讀 Snowflake 串流來源概觀.
使用平台API
如需如何成功呼叫Platform API的詳細資訊,請參閱以下指南: Platform API快速入門.
建立基礎連線 create-a-base-connection
基礎連線會保留您的來源和平台之間的資訊,包括來源的驗證認證、連線的目前狀態,以及您唯一的基本連線ID。 基礎連線ID可讓您從來源內部探索及導覽檔案,並識別您要擷取的特定專案,包括其資料型別和格式的資訊。
若要建立基本連線ID,請向以下連線ID發出POST請求: /connections
端點,同時提供 Snowflake 要求內文中的驗證認證。
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
GET接下來,使用基本連線ID透過向 /connections/{BASE_CONNECTION_ID}/explore?objectType=root
端點並提供您的基本連線ID作為引數。
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
來源連線會建立和管理與擷取資料的外部來源的連線。
POST若要建立來源連線,請向 /sourceConnections
的端點 Flow Service API。
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 帳戶至平台,您必須向以下網站發出POST請求: /flows
端點,同時提供下列值:
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\""
}
後續步驟
依照本教學課程中的指示,您已為您的建立了串流資料流 Snowflake 資料使用 Flow Service API。 如需Adobe Experience Platform來源的其他資訊,請瀏覽下列檔案: