[Ultieme]{class="badge positive"}
Gegevens Snowflake streamen naar Experience Platform met de Flow Service API
Dit leerprogramma verstrekt stappen op hoe te om gegevens van uw Snowflake rekening met Adobe Experience Platform te verbinden en te stromen gebruikend Flow Service API.
Aan de slag
Deze handleiding vereist een goed begrip van de volgende onderdelen van Adobe Experience Platform:
- Bronnen: Experience Platform staat gegevens toe om van diverse bronnen worden opgenomen terwijl het voorzien van u van de capaciteit om, inkomende gegevens te structureren te etiketteren en te verbeteren gebruikend Platform diensten.
- Sandboxen: Experience Platform verstrekt virtuele zandbakken die één enkele Platform instantie in afzonderlijke virtuele milieu's verdelen helpen digitale ervaringstoepassingen ontwikkelen en ontwikkelen.
Voor de vereiste configuratie en informatie over de Snowflake streamingbron. Gelieve te lezen het Snowflake stromen bronoverzicht.
Platform-API's gebruiken
Voor informatie over hoe te om vraag aan Platform APIs met succes te maken, zie de gids op begonnen wordt met Platform APIs.
Een basisverbinding maken create-a-base-connection
Een basisverbinding behoudt informatie tussen uw bron en Platform, met inbegrip van de de authentificatiegeloofsbrieven van uw bron, de huidige staat van de verbinding, en uw unieke identiteitskaart van de basisverbinding. Met de ID van de basisverbinding kunt u bestanden verkennen en door bestanden navigeren vanuit uw bron en kunt u de specifieke items identificeren die u wilt opnemen, inclusief informatie over hun gegevenstypen en indelingen.
Als u een basis-verbindings-id wilt maken, vraagt u een POST naar het /connections
-eindpunt en geeft u de Snowflake -verificatiegegevens op als onderdeel van de aanvraaginstantie.
API formaat
POST /connections
Verzoek
Met de volgende aanvraag wordt een basisverbinding voor Snowflake gemaakt:
auth.specName
-waarde moet exact worden ingevoerd zoals in het onderstaande voorbeeld, inclusief de lege spaties.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
.Reactie
Een geslaagde reactie retourneert de nieuwe basisverbinding en de bijbehorende tag.
{
"id": "1b614dc0-b76e-41e1-b25f-09f4a9d3f111",
"etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}
Uw gegevenstabellen verkennen explore-your-data-tables
Daarna, gebruik identiteitskaart van de basisverbinding om door de gegevenslijsten van uw bron te onderzoeken en te navigeren door een verzoek van de GET aan het /connections/{BASE_CONNECTION_ID}/explore?objectType=root
eindpunt te doen terwijl het verstrekken van uw identiteitskaart van de basisverbinding als parameter.
API formaat
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=root
{BASE_CONNECTION_ID}
Verzoek
Met de volgende aanvraag worden de structuur en inhoud van uw Snowflake streamingaccount opgehaald.
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}'
Reactie
Een succesvolle reactie keert de structuur en de inhoud van de gegevens van uw bron op wortel-niveau terug.
{
"items": [
{
"type": "table",
"name": "ACME"
}
]
}
items.type
items.names
Een bronverbinding maken create-a-source-connection
Een bronverbinding maakt en beheert de verbinding met de externe bron vanwaar gegevens worden ingevoerd.
Als u een bronverbinding wilt maken, vraagt u een POST naar het /sourceConnections
-eindpunt van de Flow Service API.
API formaat
POST /sourceConnections
Verzoek
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
. Als deze optie niet is opgegeven, wordt voor timezoneValue
standaard UTC gebruikt.Reactie
Een geslaagde reactie retourneert uw bron-verbindings-id en de bijbehorende tag. De id van de bronverbinding wordt later gebruikt om een gegevensstroom te maken.
{
"id": "61c0c5f1-bfe5-40f7-8f8c-a4dc175ddac6",
"etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}
Een gegevensstroom maken
Als u een gegevensstroom wilt maken om gegevens van een tour Snowflake -account naar Platform te streamen, moet u een verzoek van de POST indienen bij het /flows
-eindpunt en de volgende waarden opgeven:
API formaat
POST /flows
Verzoek
Met de volgende aanvraag wordt een streaminggegevensstroom voor uw Snowflake -account gemaakt.
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
Reactie
Een geslaagde reactie retourneert uw flow-id en de bijbehorende tag.
{
"id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
"etag": "\"770029f8-0000-0200-0000-6019e7d40000\""
}
Volgende stappen
Aan de hand van deze zelfstudie hebt u een streaminggegevensstroom voor uw Snowflake -gegevens gemaakt met de Flow Service API. Raadpleeg de volgende documentatie voor aanvullende informatie over Adobe Experience Platform Sources: