[Ultimate]{class="badge positive"}
Diffuser des données de Snowflake vers 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’API Flow Service.
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 Experience Platform.
- Sandbox : Experience Platform fournit des sandbox virtuels qui divisent une instance Experience Platform unique en environnements virtuels distincts pour favoriser le développement et l’évolution d’applications d’expérience digitale.
Pour la configuration préalable et des informations sur la source de diffusion en continu Snowflake. Veuillez lire la Snowflake présentation de la source de streaming.
Utilisation des API Experience Platform
Pour plus d’informations sur la manière d’effectuer avec succès des appels vers les API Experience Platform, consultez le guide Prise en main des API Experience Platform.
Créer une connexion de base create-a-base-connection
Une connexion de base conserve les informations échangées entre votre source et Experience 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 POST au point d’entrée /connections
et indiquez vos informations d’authentification Snowflake dans le 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
par défaut.connectionSpec.id
51ae16c2-bdad-42fd-9fce-8d5dfddaf140
.Réponse
Une réponse réussie renvoie la nouvelle connexion de base et son etag correspondant.
{
"id": "1b614dc0-b76e-41e1-b25f-09f4a9d3f111",
"etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}
Explorer vos 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 envoyant une requête GET au point d’entrée /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 en continu 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
. S’il n’est pas 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é à une étape ultérieure 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 afin de diffuser des données de votre compte Snowflake vers Experience Platform, vous devez effectuer une requête POST au point d’entrée /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
Ce tutoriel vous a permis de créer un flux de données en continu pour vos données Snowflake à l’aide de l’API Flow Service. Consultez la documentation suivante pour plus d’informations sur les sources Adobe Experience Platform :