[Beta]{class="badge informative"} [Ultimate]{class="badge positive"}
Transmitir Snowflake datos al Experience Platform mediante el Flow Service API
- El Snowflake la fuente de streaming está en versión beta. Lea el Resumen de orígenes para obtener más información sobre el uso de fuentes etiquetadas como beta.
- El Snowflake La fuente de streaming está disponible en la API para los usuarios que han adquirido Real-time Customer Data Platform Ultimate.
Este tutorial proporciona pasos sobre cómo conectar y transmitir datos desde su Snowflake a Adobe Experience Platform mediante el [Flow Service API] (https://www.adobe.io/experience-platform-apis/references/flow-service/).
Introducción
Esta guía requiere una comprensión práctica de los siguientes componentes de Adobe Experience Platform:
- Fuentes: Experience Platform permite la ingesta de datos desde varias fuentes, al tiempo que le ofrece la capacidad de estructurar, etiquetar y mejorar los datos entrantes mediante Platform servicios.
- Zonas protegidas: Experience Platform proporciona zonas protegidas virtuales que dividen una sola Platform en entornos virtuales independientes para ayudar a desarrollar y evolucionar aplicaciones de experiencia digital.
Para obtener información sobre la configuración de requisitos previos y la Snowflake fuente de flujo continuo. Lea el Snowflake información general de fuente de streaming.
Uso de API de Platform
Para obtener información sobre cómo realizar llamadas correctamente a las API de Platform, consulte la guía de introducción a las API de Platform.
Cree una conexión base create-a-base-connection
Una conexión base retiene información entre el origen y Platform, incluidas las credenciales de autenticación del origen, el estado actual de la conexión y el ID único de conexión base. El ID de conexión base le permite explorar y navegar por archivos desde el origen e identificar los elementos específicos que desea introducir, incluida la información sobre sus tipos de datos y formatos.
Para crear un ID de conexión base, realice una solicitud de POST al /connections
extremo al proporcionar su Snowflake credenciales de autenticación como parte del cuerpo de la solicitud.
Formato de API
POST /connections
Solicitud
La siguiente solicitud crea una conexión base para Snowflake:
auth.specName
El valor debe introducirse exactamente como en el ejemplo siguiente, incluidos los espacios en blanco.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
.Respuesta
Una respuesta correcta devuelve la conexión base recién creada y su etiqueta correspondiente.
{
"id": "1b614dc0-b76e-41e1-b25f-09f4a9d3f111",
"etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}
Exploración de las tablas de datos explore-your-data-tables
A continuación, utilice el ID de conexión base para explorar y navegar por las tablas de datos de origen realizando una solicitud de GET a /connections/{BASE_CONNECTION_ID}/explore?objectType=root
al proporcionar su ID de conexión base como parámetro.
Formato de API
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=root
{BASE_CONNECTION_ID}
Solicitud
La siguiente solicitud recupera la estructura y el contenido de su Snowflake cuenta de streaming.
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}'
Respuesta
Una respuesta correcta devuelve la estructura y el contenido de los datos de origen en el nivel raíz.
{
"items": [
{
"type": "table",
"name": "ACME"
}
]
}
items.type
items.names
Crear una conexión de origen create-a-source-connection
Una conexión de origen crea y administra la conexión con el origen externo desde el que se incorporan los datos.
Para crear una conexión de origen, realice una solicitud de POST al /sourceConnections
punto final del Flow Service API.
Formato de API
POST /sourceConnections
Solicitud
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 no se proporciona, timezoneValue
el valor predeterminado es UTC.Respuesta
Una respuesta correcta devuelve el ID de conexión de origen y su etiqueta correspondiente. El ID de conexión de origen se utilizará en un paso posterior para crear un flujo de datos.
{
"id": "61c0c5f1-bfe5-40f7-8f8c-a4dc175ddac6",
"etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}
Cree un flujo de datos
Para crear un flujo de datos para transmitir datos desde el recorrido Snowflake cuenta a Platform, debe realizar una solicitud de POST a /flows
al tiempo que proporciona los siguientes valores:
Formato de API
POST /flows
Solicitud
La siguiente solicitud crea un flujo de datos de flujo continuo para su Snowflake cuenta.
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
Respuesta
Una respuesta correcta devuelve su ID de flujo y su etiqueta correspondiente.
{
"id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
"etag": "\"770029f8-0000-0200-0000-6019e7d40000\""
}
Pasos siguientes
Al seguir este tutorial, ha creado un flujo de datos de flujo continuo para su Snowflake datos con el Flow Service API. Visite la siguiente documentación para obtener más información sobre las fuentes de Adobe Experience Platform: