Ultimate
Snowflake -gegevens met de API Flow Service naar Experience Platform streamen
Gemaakt voor:
- Ontwikkelaar
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 Experience Platform diensten.
- Sandboxen: Experience Platform verstrekt virtuele zandbakken die één enkele Experience 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.
Experience Platform API's gebruiken
Voor informatie over hoe te om vraag aan Experience Platform APIs met succes te maken, zie de gids op begonnen wordt met Experience Platform APIs.
Een basisverbinding maken
Een basisverbinding behoudt informatie tussen uw bron en Experience Platform, met inbegrip van de verificatiereferenties van uw bron, de huidige status 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-aanvraag naar het /connections
-eindpunt en geeft u de Snowflake -verificatiegegevens op als onderdeel van de aanvraagprocedure.
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
Gebruik vervolgens de id van de basisverbinding om de gegevenstabellen van uw bron te verkennen en door te navigeren door een GET-aanvraag in te dienen bij het /connections/{BASE_CONNECTION_ID}/explore?objectType=root
-eindpunt terwijl u uw id van de basisverbinding als parameter opgeeft.
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
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-aanvraag 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 Experience Platform te streamen, moet u een POST-aanvraag 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: