[Ultimate]{class="badge positive"}
Diffuser des données Snowflake vers l’Experience Platform à l’aide de l’API Flow Service
Ce tutoriel décrit les étapes à suivre pour connecter et diffuser des données de votre compte Snowflake vers Adobe Experience Platform à l’aide de l’ Flow Service API.
Prise en main
Ce guide nécessite une compréhension professionnelle des composants suivants d’Adobe Experience Platform :
- Sources : Experience Platform permet d’ingérer des données provenant de diverses sources tout en vous offrant la possibilité de structurer, d’étiqueter et d’améliorer les données entrantes à l’aide des services Platform.
- Sandbox : Experience Platform fournit des sandbox virtuels qui divisent une instance Platform unique en environnements virtuels distincts pour favoriser le développement et l’évolution d’applications d’expérience digitale.
Pour obtenir des informations sur la configuration préalable et des informations sur la source de diffusion Snowflake. Veuillez lire la Snowflake présentation de la source de diffusion en continu.
Utiliser les API Platform
Pour plus d’informations sur la manière d’effectuer avec succès des appels vers les API Platform, consultez le guide sur la Prise en main des API Platform.
Créer une connexion de base create-a-base-connection
Une connexion de base conserve les informations échangées entre votre source et Platform, y compris les informations d’authentification de votre source, l’état actuel de la connexion et votre identifiant de connexion de base unique. L’identifiant de connexion de base vous permet d’explorer et de parcourir des fichiers à partir de votre source et d’identifier les éléments spécifiques que vous souhaitez ingérer, y compris des informations concernant leurs types et formats de données.
Pour créer un identifiant de connexion de base, envoyez une requête de POST au point de terminaison /connections
tout en fournissant vos informations d’authentification Snowflake dans le cadre du corps de la requête.
Format d’API
POST /connections
Requête
La requête suivante permet de créer une connexion de base pour Snowflake :
auth.specName
doit être saisie exactement comme dans l’exemple ci-dessous, y compris les espaces vides.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
.Réponse
Une réponse réussie renvoie la connexion de base nouvellement créée et son etag correspondant.
{
"id": "1b614dc0-b76e-41e1-b25f-09f4a9d3f111",
"etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}
Exploration des tableaux de données explore-your-data-tables
Ensuite, utilisez l’identifiant de connexion de base pour explorer et parcourir les tableaux de données de votre source en effectuant une requête GET sur le point de terminaison /connections/{BASE_CONNECTION_ID}/explore?objectType=root
tout en fournissant votre identifiant de connexion de base en tant que paramètre.
Format d’API
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=root
{BASE_CONNECTION_ID}
Requête
La requête suivante récupère la structure et le contenu de votre compte de diffusion 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}'
Réponse
Une réponse réussie renvoie la structure et le contenu des données de votre source au niveau racine.
{
"items": [
{
"type": "table",
"name": "ACME"
}
]
}
items.type
items.names
Créer une connexion source create-a-source-connection
Une connexion source crée et gère la connexion à la source externe à partir de laquelle les données sont ingérées.
Pour créer une connexion source, envoyez une requête POST au point d’entrée /sourceConnections
de l’API Flow Service.
Format d’API
POST /sourceConnections
Requête
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
. Si non fourni, timezoneValue
est défini par défaut sur UTC.Réponse
Une réponse réussie renvoie votre identifiant de connexion source et son etag correspondant. L’identifiant de connexion source sera utilisé ultérieurement pour créer un flux de données.
{
"id": "61c0c5f1-bfe5-40f7-8f8c-a4dc175ddac6",
"etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}
Créer un flux de données
Pour créer un flux de données permettant de diffuser des données depuis le compte Snowflake vers Platform, vous devez envoyer une requête de POST au point de terminaison /flows
tout en fournissant les valeurs suivantes :
Format d’API
POST /flows
Requête
La requête suivante crée un flux de données en continu pour votre compte 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
Réponse
Une réponse réussie renvoie votre identifiant de flux et son etag correspondant.
{
"id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
"etag": "\"770029f8-0000-0200-0000-6019e7d40000\""
}
Étapes suivantes
En suivant ce tutoriel, vous avez créé un flux de données en continu pour vos données Snowflake à l’aide de l’API Flow Service. Pour plus d’informations sur les sources Adobe Experience Platform, consultez la documentation suivante :