[Ultimate]{class="badge positive"}
Strömma Snowflake-data till Experience Platform med API:t Flow Service
I den här självstudien beskrivs hur du ansluter och direktuppspelar data från ditt Snowflake-konto till Adobe Experience Platform med Flow Service API .
Komma igång
Handboken kräver en fungerande förståelse av följande komponenter i Adobe Experience Platform:
- Källor: Experience Platform tillåter att data kan hämtas från olika källor samtidigt som du kan strukturera, etikettera och förbättra inkommande data med Platform-tjänster.
- Sandlådor: Experience Platform innehåller virtuella sandlådor som partitionerar en enskild Platform-instans till separata virtuella miljöer för att hjälpa till att utveckla och utveckla program för digitala upplevelser.
För nödvändig konfiguration och information om strömningskällan Snowflake. Läs översikten över den Snowflake strömmande källan.
Använda plattforms-API:er
Mer information om hur du kan anropa plattforms-API:er finns i guiden Komma igång med plattforms-API:er.
Skapa en basanslutning create-a-base-connection
En basanslutning bevarar information mellan källan och plattformen, inklusive källans autentiseringsuppgifter, anslutningsstatus och ditt unika basanslutnings-ID. Med det grundläggande anslutnings-ID:t kan du utforska och navigera bland filer inifrån källan och identifiera de specifika objekt som du vill importera, inklusive information om deras datatyper och format.
Om du vill skapa ett grundläggande anslutnings-ID skickar du en POST till /connections
-slutpunkten och anger dina Snowflake autentiseringsuppgifter som en del av begärandetexten.
API-format
POST /connections
Begäran
Följande begäran skapar en basanslutning för Snowflake:
auth.specName
måste anges exakt som exemplet nedan, inklusive blanksteg.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
.Svar
Ett lyckat svar returnerar den nyskapade basanslutningen och dess motsvarande tagg.
{
"id": "1b614dc0-b76e-41e1-b25f-09f4a9d3f111",
"etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}
Utforska era datatabeller explore-your-data-tables
Använd sedan basanslutnings-ID:t för att utforska och navigera genom källans datatabeller genom att göra en GET-förfrågan till /connections/{BASE_CONNECTION_ID}/explore?objectType=root
-slutpunkten och ange ditt grundläggande anslutnings-ID som en parameter.
API-format
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=root
{BASE_CONNECTION_ID}
Begäran
Följande begäran hämtar strukturen och innehållet i ditt Snowflake-direktuppspelningskonto.
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}'
Svar
Ett lyckat svar returnerar strukturen och innehållet i källans data på rotnivå.
{
"items": [
{
"type": "table",
"name": "ACME"
}
]
}
items.type
items.names
Skapa en källanslutning create-a-source-connection
En källanslutning skapar och hanterar anslutningen till den externa källan som data importeras från.
Om du vill skapa en källanslutning skickar du en POST till /sourceConnections
-slutpunkten för Flow Service API:t.
API-format
POST /sourceConnections
Begäran
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
. Om det inte anges används UTC som standard timezoneValue
.Svar
Ett lyckat svar returnerar ditt källanslutnings-ID och dess motsvarande tagg. Källanslutnings-ID används i ett senare steg för att skapa ett dataflöde.
{
"id": "61c0c5f1-bfe5-40f7-8f8c-a4dc175ddac6",
"etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}
Skapa ett dataflöde
Om du vill skapa ett dataflöde för att strömma data från rundtur Snowflake-konto till plattformen måste du göra en POST-förfrågan till slutpunkten /flows
och samtidigt ange följande värden:
API-format
POST /flows
Begäran
Följande begäran skapar ett dataflöde för direktuppspelning för ditt Snowflake-konto.
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
Svar
Ett lyckat svar returnerar ditt flödes-ID och dess motsvarande tagg.
{
"id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
"etag": "\"770029f8-0000-0200-0000-6019e7d40000\""
}
Nästa steg
Genom att följa den här självstudiekursen har du skapat ett dataflöde för direktuppspelning för dina Snowflake-data med API:t Flow Service. Mer information om Adobe Experience Platform Sources finns i följande dokumentation: