Crear un flujo de datos para introducir datos de un CRM a Experience Platform
Lea esta guía para aprender a crear un flujo de datos e ingerir datos en Adobe Experience Platform mediante la Flow Service API.
Introducción
Esta guía requiere una comprensión práctica de los siguientes componentes de Experience Platform:
- Ingesta por lotes: Descubra cómo cargar grandes volúmenes de datos por lotes de forma rápida y eficaz.
- Servicio de catálogo: organice y realice un seguimiento de sus conjuntos de datos en Experience Platform.
- Preparación de datos: transforme y asigne los datos entrantes para que coincidan con los requisitos de esquema.
- Flujos de datos: configure y administre las canalizaciones que mueven sus datos de orígenes a destinos.
- Esquemas del modelo de datos de experiencia (XDM): Estructure los datos con esquemas XDM para que estén listos para su uso en Experience Platform.
- Zonas protegidas: Realice pruebas y desarrolle de forma segura en entornos aislados sin afectar a los datos de producción.
- Fuentes: Aprenda a conectar las fuentes de datos externas a Experience Platform.
Uso de API de Experience Platform
Para obtener información sobre cómo realizar llamadas correctamente a las API de Experience Platform, lea la guía sobre introducción a las API de Experience Platform.
Crear conexión base base
Para crear un flujo de datos para su origen, necesitará una cuenta de origen totalmente autenticada y su ID de conexión base correspondiente. Si no tiene este identificador, visite el catálogo de orígenes para encontrar una lista de orígenes para los que puede crear una conexión base.
Creación de un esquema XDM de destino target-schema
Un esquema del Modelo de datos de experiencia (XDM) proporciona una forma estandarizada de organizar y describir los datos de experiencia del cliente dentro de Experience Platform. Para introducir los datos de origen en Experience Platform, primero debe crear un esquema XDM de destino que defina la estructura y los tipos de datos que desea introducir. Este esquema sirve como modelo para el conjunto de datos de Experience Platform donde residirán los datos ingeridos.
Se puede crear un esquema XDM de destino realizando una petición POST a la API del Registro de esquemas. Para ver los pasos detallados sobre cómo crear un esquema XDM de destino, lea las siguientes guías:
Una vez creado, el esquema XDM de destino $id
se requerirá más adelante para el conjunto de datos de destino y la asignación.
Crear un conjunto de datos de destinatario target-dataset
Un conjunto de datos es una construcción de almacenamiento y administración para una colección de datos, normalmente estructurada como una tabla con columnas (esquema) y filas (campos). Los datos que se incorporan correctamente a Experience Platform se almacenan dentro del lago de datos como conjuntos de datos. Durante este paso, puede crear un nuevo conjunto de datos o utilizar uno existente.
Puede crear un conjunto de datos de destino realizando una petición POST a la API del servicio de catálogo, al mismo tiempo que proporciona el ID del esquema de destino en la carga útil. Para ver los pasos detallados sobre cómo crear un conjunto de datos de destinatario, lea la guía sobre crear un conjunto de datos mediante la API.
Formato de API
code language-http |
---|
|
Solicitud
El siguiente ejemplo muestra cómo crear un conjunto de datos de destinatario habilitado para la ingesta de Perfil del cliente en tiempo real. En esta solicitud, la propiedad unifiedProfile
se establece en true
(en el objeto tags
), lo que indica a Experience Platform que incluya el conjunto de datos en el perfil del cliente en tiempo real.
code language-shell |
---|
|
table 0-row-2 1-row-2 2-row-2 3-row-2 | |
---|---|
Propiedad | Descripción |
name |
Un nombre descriptivo para el conjunto de datos de destinatario. Utilice un nombre claro y único para que sea más fácil identificar y administrar su conjunto de datos en futuras operaciones. |
schemaRef.id |
El ID del esquema XDM de destino. |
tags.unifiedProfile |
Un valor booleano que informa a Experience Platform si los datos deben ingerirse en el Perfil del cliente en tiempo real. |
Respuesta
Una respuesta correcta devuelve el ID del conjunto de datos de destinatario. Este ID se necesita más adelante para crear una conexión de destino.
code language-json |
---|
|
Crear una conexión de origen source
Una conexión de origen define cómo se introducen los datos en Experience Platform desde un origen externo. Especifica el sistema de origen y el formato de los datos entrantes, y hace referencia a una conexión base que contiene detalles de autenticación. Cada conexión de origen es única para su organización.
- En el caso de los orígenes basados en archivos (como el almacenamiento en la nube), una conexión de origen puede incluir configuraciones como delimitador de columna, tipo de codificación, tipo de compresión, expresiones regulares para la selección de archivos y si se deben introducir archivos de forma recursiva.
- Para los orígenes basados en tablas (como bases de datos, CRM y proveedores de automatización de marketing), una conexión de origen puede especificar detalles como el nombre de la tabla y las asignaciones de columnas.
Para crear una conexión de origen, realice una petición POST al extremo /sourceConnections
de la API Flow Service y proporcione el identificador de conexión base, el identificador de especificación de conexión y la ruta al archivo de datos de origen.
Formato de API
POST /sourceConnections
Solicitud
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
-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": "ACME source connection",
"description": "A source connection for ACME contact data",
"baseConnectionId": "6990abad-977d-41b9-a85d-17ea8cf1c0e4",
"data": {
"format": "tabular"
},
"params": {
"tableName": "Contact",
"columns": [
{
"name": "TestID",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "Name",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "Datefield",
"type": "string",
"meta:xdmType": "date-time",
"xdm": {
"type": "string",
"format": "date-time"
}
}
]
},
"connectionSpec": {
"id": "cfc0fee1-7dc0-40ef-b73e-d8b134c436f5",
"version": "1.0"
}
}'
name
description
baseConnectionId
id
de su conexión base. Puede recuperar este ID autenticando su origen en Experience Platform mediante la API Flow Service.data.format
tabular
para orígenes basados en tablas (como bases de datos, CRM y proveedores de automatización de marketing).params.tableName
params.columns
connectionSpec.id
Respuesta
Una respuesta correcta devuelve el ID de la conexión de origen. Este ID es necesario para crear un flujo de datos e introducir los datos.
{
"id": "b7581b59-c603-4df1-a689-d23d7ac440f3",
"etag": "\"ef05d265-0000-0200-0000-6019e0080000\""
}
Creación de una conexión de destino target
Una conexión de destino representa la conexión con el destino donde aterrizan los datos introducidos. Para crear una conexión de destino, debe proporcionar el ID de especificación de conexión fija asociado al lago de datos. Este id. de especificación de conexión es: c604ff05-7f1a-43c0-8e18-33bf874cb11c
.
Formato de API
POST /targetConnections
Solicitud
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
-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": "ACME target connection",
"description": "ACME target connection",
"data": {
"schema": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/52b59140414aa6a370ef5e21155fd7a686744b8739ecc168",
"version": "application/vnd.adobe.xed-full+json;version=1"
}
},
"params": {
"dataSetId": "6889f4f89b982b2b90bc1207"
},
"connectionSpec": {
"id": "c604ff05-7f1a-43c0-8e18-33bf874cb11c",
"version": "1.0"
}
}'
name
description
data.schema.id
params.dataSetId
connectionSpec.id
c604ff05-7f1a-43c0-8e18-33bf874cb11c
.Asignación mapping
A continuación, asigne los datos de origen al esquema de destino al que se adhiere el conjunto de datos de destino. Para crear una asignación, realice una petición POST al extremo mappingSets
de la Data Prep API. Incluya el ID del esquema XDM de destino y los detalles de los conjuntos de asignaciones que desee crear.
Formato de API
POST /mappingSets
Solicitud
curl -X POST \
'https://platform.adobe.io/data/foundation/conversion/mappingSets' \
-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 '{
"version": 0,
"xdmSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/52b59140414aa6a370ef5e21155fd7a686744b8739ecc168",
"xdmVersion": "1.0",
"id": null,
"mappings": [
{
"destinationXdmPath": "_id",
"sourceAttribute": "TestID",
"identity": false,
"identityGroup": null,
"namespaceCode": null,
"version": 0
},
{
"destinationXdmPath": "person.name.fullName",
"sourceAttribute": "Name",
"identity": false,
"identityGroup": null,
"namespaceCode": null,
"version": 0
},
{
"destinationXdmPath": "person.birthDate",
"sourceAttribute": "Datefield",
"identity": false,
"identityGroup": null,
"namespaceCode": null,
"version": 0
}
]
}'
xdmSchema
$id
del esquema XDM de destino.Respuesta
Una respuesta correcta devuelve detalles de la asignación recién creada, incluido su identificador único (id
). Este ID es necesario en un paso posterior para crear un flujo de datos.
{
"id": "93ddfa69c4864d978832b1e5ef6ec3b9",
"version": 0,
"createdDate": 1612309018666,
"modifiedDate": 1612309018666,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}"
}
Recuperar especificaciones de flujo de datos flow-specs
Para poder crear un flujo de datos, primero debe recuperar las especificaciones del flujo de datos que se correspondan con su origen. Para recuperar esta información, realice una petición GET al extremo /flowSpecs
de la API Flow Service.
Formato de API
GET /flowSpecs?property=name=="{NAME}"
property=name=="{NAME}"
El nombre de la especificación del flujo de datos.
- Para orígenes basados en archivos (como el almacenamiento en la nube), establezca este valor en
CloudStorageToAEP
. - Para orígenes basados en tablas (como bases de datos, CRM y proveedores de automatización de marketing), establezca este valor en
CRMToAEP
.
Solicitud
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/flowSpecs?property=name=="CRMToAEP"' \
-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 los detalles de la especificación de flujo de datos responsable de importar datos de su origen a Experience Platform. La respuesta incluye la especificación de flujo única id
necesaria para crear un nuevo flujo de datos.
Para asegurarse de que está utilizando la especificación de flujo de datos correcta, compruebe la matriz items.sourceConnectionSpecIds
en la respuesta. Confirme que el ID de especificación de conexión del origen se incluye en esta lista.
code language-json |
---|
|
Creación de un flujo de datos dataflow
Un flujo de datos es una canalización configurada que transfiere datos entre servicios de Experience Platform. Define cómo se incorporan los datos desde fuentes externas (como bases de datos, almacenamiento en la nube o API), se procesan y se enrutan a conjuntos de datos de destino. Estos conjuntos de datos los utilizan servicios como Identity Service, Real-Time Customer Profile y Destinations para la activación y el análisis.
Para crear un flujo de datos, deberá proporcionar valores para los siguientes elementos:
Durante este paso, puede utilizar los siguientes parámetros en scheduleParams
para configurar una programación de ingesta para el flujo de datos:
startTime
frequency
La frecuencia de la ingesta. Configure la frecuencia para indicar con qué frecuencia debe ejecutarse el flujo de datos. Puede establecer su frecuencia en:
once
: establezca su frecuencia enonce
para crear una ingesta única. La configuración de intervalo y relleno no está disponible para trabajos de ingesta únicos. De forma predeterminada, la frecuencia de programación se establece en una vez.minute
: establezca su frecuencia enminute
para programar el flujo de datos e ingerir datos por minuto.hour
: establezca su frecuencia enhour
para programar el flujo de datos e ingerir datos por hora.day
: establezca su frecuencia enday
para programar el flujo de datos e ingerir datos todos los días.week
: establezca su frecuencia enweek
para programar el flujo de datos e ingerir datos por semana.
interval
Intervalo entre ingestas consecutivas (requerido para todas las frecuencias excepto once
). Configure el intervalo para establecer el lapso de tiempo entre cada ingesta. Por ejemplo, si la frecuencia se establece en día y el intervalo es 15, el flujo de datos se ejecutará cada 15 días. No puede establecer el intervalo en cero. El valor mínimo del intervalo aceptado para cada frecuencia es el siguiente:
once
: n/aminute
: 15hour
: 1day
: 1week
: 1
backfill
startTime
.Formato de API
POST /flows
Solicitud
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": "ACME Contact Dataflow",
"description": "A dataflow for ACME contact data",
"flowSpec": {
"id": "14518937-270c-4525-bdec-c2ba7cce3860",
"version": "1.0"
},
"sourceConnectionIds": [
"b7581b59-c603-4df1-a689-d23d7ac440f3"
],
"targetConnectionIds": [
"320f119a-5ac1-4ab1-88ea-eb19e674ea2e"
],
"transformations": [
{
"name": "Copy",
"params": {
"deltaColumn": {
"name": "Datefield",
"dateFormat": "YYYY-MM-DD",
"timezone": "UTC"
}
}
},
{
"name": "Mapping",
"params": {
"mappingId": "93ddfa69c4864d978832b1e5ef6ec3b9",
"mappingVersion": 0
}
}
],
"scheduleParams": {
"startTime": "1612310466",
"frequency":"minute",
"interval":"15",
"backfill": "true"
}
}'
name
description
flowSpec.id
sourceConnectionIds
targetConnectionIds
transformations.params.deltaColum
deltaColumn
es yyyy-MM-dd HH:mm:ss
. Para Microsoft Dynamics, el formato admitido para deltaColumn
es yyyy-MM-ddTHH:mm:ssZ
.transformations.params.deltaColumn.dateFormat
transformations.params.deltaColumn.timeZone
transformations.params.mappingId
scheduleParams.startTime
scheduleParams.frequency
once
, minute
, hour
, day
o week
.scheduleParams.interval
scheduleParams.backfill
true
o false
) que determina si se deben introducir datos históricos (relleno) cuando se crea el flujo de datos por primera vez.Respuesta
Una respuesta correcta devuelve el identificador (id
) del flujo de datos recién creado.
{
"id": "ae0a9777-b322-4ac1-b0ed-48ae9e497c7e",
"etag": "\"770029f8-0000-0200-0000-6019e7d40000\""
}
Utilice la interfaz de usuario para validar el flujo de trabajo de API validate-in-ui
Puede utilizar la interfaz de usuario de Experience Platform para validar la creación del flujo de datos. Vaya al catálogo Sources en la interfaz de usuario de Experience Platform y, a continuación, seleccione Dataflows de las pestañas del encabezado. A continuación, use la columna Nombre de flujo de datos y busque el flujo de datos que creó con la API Flow Service.
Puede validar aún más su flujo de datos a través de la interfaz actividad de flujo de datos. Utilice el carril derecho para ver la información de uso de API de su flujo de datos. Esta sección muestra el mismo ID de flujo de datos, ID de conjunto de datos e ID de asignación que se generó durante el proceso de creación de flujo de datos en Flow Service.
Próximos pasos
Este tutorial lo guió a través del proceso de creación de un flujo de datos en Experience Platform mediante la API Flow Service. Ha aprendido a crear y configurar los componentes necesarios, incluido el esquema XDM de destino, el conjunto de datos, la conexión de origen, la conexión de destino y el propio flujo de datos. Al seguir estos pasos, puede automatizar la ingesta de datos de fuentes externas a Experience Platform, lo que permite servicios descendentes como Perfil del cliente en tiempo real y Destinos para aprovechar los datos ingeridos para casos de uso avanzados.
Monitorización del flujo de datos
Una vez creado el flujo de datos, puede monitorizar su rendimiento directamente en la interfaz de usuario de Experience Platform. Esto incluye el seguimiento de las tasas de ingesta, las métricas de éxito y cualquier error que se produzca. Para obtener más información sobre cómo supervisar el flujo de datos, visite el tutorial sobre supervisar cuentas y flujos de datos.
Actualizar el flujo de datos
Para actualizar configuraciones para la programación, asignación o información general de sus flujos de datos, visite el tutorial sobre actualización de flujos de datos de origen.
Eliminar el flujo de datos
Puede eliminar flujos de datos que ya no sean necesarios o que se hayan creado incorrectamente mediante la función Delete disponible en el área de trabajo Flujos de datos. Para obtener más información sobre cómo eliminar flujos de datos, visite el tutorial sobre eliminar flujos de datos.