Información general sobre conjuntos de asignaciones
Un conjunto de asignaciones es un conjunto de asignaciones que transforma los datos de un esquema a otro. Este documento proporciona información sobre cómo se comprenden los conjuntos de asignaciones, incluidos el esquema de entrada, el esquema de salida y las asignaciones.
Introducción
Esta descripción general requiere una comprensión práctica de los siguientes componentes de Adobe Experience Platform:
- Preparación de datos: La preparación de datos permite a los ingenieros de datos asignar, transformar y validar datos desde y hacia el modelo de datos de experiencia (XDM).
- Flujos de datos: los flujos de datos son una representación de los trabajos de datos que mueven datos a través de Platform. Los flujos de datos se configuran en diferentes servicios, lo que ayuda a mover datos de los conectores de origen a los conjuntos de datos de destino, a Identity y Profile, y a Destinations.
- Adobe Experience Platform Data Ingestion: métodos mediante los cuales se pueden enviar datos a Experience Platform.
- Experience Data Model (XDM) System: El marco estandarizado mediante el cual Experience Platform organiza los datos de experiencia del cliente.
Sintaxis del conjunto de asignaciones
Un conjunto de asignaciones consta de un ID, un nombre, un esquema de entrada, un esquema de salida y una lista de asignaciones asociadas.
El siguiente JSON es un ejemplo de un conjunto de asignaciones típico:
{
"id": "cbb0da769faa48fcb29e026a924ba29d",
"name": "Demo Mapping Set",
"inputSchema": {
"id": "a167ff2947ff447ebd8bcf7ef6756232",
"version": 0
},
"outputSchema": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/6dd1768be928c36d58ad4897219bb52d491671f966084bc0",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
},
"mappings": [
{
"sourceType": "ATTRIBUTE",
"source": "Id",
"destination": "_id",
"name": "Id",
"description": "Identifier field"
},
{
"sourceType": "ATTRIBUTE",
"source": "FirstName",
"destination": "person.name.firstName"
},
{
"sourceType": "ATTRIBUTE",
"source": "LastName",
"destination": "person.name.lastName"
}
]
}
id
name
inputSchema
outputSchema
mappings
sourceType
Para cada asignación enumerada, su atributo sourceType
indica el tipo de origen que se va a asignar. Puede ser uno de ATTRIBUTE
, STATIC
o EXPRESSION
:
ATTRIBUTE
se usa para cualquier valor encontrado en la ruta de origen.STATIC
se usa para los valores insertados en la ruta de destino. Este valor permanece constante y no se ve afectado por el esquema de origen.EXPRESSION
se usa para una expresión, que se resolverá durante el tiempo de ejecución. Se puede encontrar una lista de expresiones disponibles en la guía de funciones de asignación.
source
source
indica el campo que desea asignar. Encontrará más información sobre cómo configurar el origen en descripción general de orígenes.destination
destination
indica el campo o la ruta al campo, donde se colocará el valor extraído del campo source
. Encontrará más información sobre cómo configurar sus destinos en descripción general del destino.mappings.name
mappings.description
Configuración de orígenes de asignación
En una asignación, source
puede ser un campo, expresión o valor estático. En función del tipo de origen dado, el valor se puede extraer de varias formas.
Campo en datos de columnas
Al asignar un campo en datos de columnas, como un archivo CSV, utilice el tipo de origen ATTRIBUTE
. Si el campo contiene .
en su nombre, use \
para omitir el valor. A continuación se puede encontrar un ejemplo de esta asignación:
Archivo CSV de ejemplo:
Full.Name, Email
John Smith, js@example.com
Asignación de muestra
{
"source": "Full.Name",
"destination": "pi.name",
"sourceType": "ATTRIBUTE"
}
Datos transformados
{
"pi": {
"name": "John Smith"
}
}
Campo en datos anidados
Al asignar un campo en datos anidados, como un archivo JSON, utilice el tipo de origen ATTRIBUTE
. Si el campo contiene .
en su nombre, use \
para omitir el valor. A continuación se puede encontrar un ejemplo de esta asignación:
Archivo JSON de muestra
{
"customerInfo": {
"name": "John Smith",
"email": "js@example.com"
}
}
Asignación de muestra
{
"source": "customerInfo.name",
"destination": "pi.name",
"sourceType": "ATTRIBUTE"
}
Datos transformados
{
"pi": {
"name": "John Smith"
}
}
Campo dentro de una matriz
Al asignar un campo dentro de una matriz, puede recuperar un valor específico mediante un índice. Para ello, utilice el tipo de origen ATTRIBUTE
y el índice del valor que desea asignar. A continuación se puede encontrar un ejemplo de esta asignación:
Archivo JSON de muestra
{
"customerInfo": {
"emails": [
{
"name": "John Smith",
"email": "js@example.com"
},
{
"name": "Jane Smith",
"email": "jane@example.com"
}
]
}
}
Asignación de muestra
{
"source": "customerInfo.emails[0].email",
"destination": "pi.email",
"sourceType": "ATTRIBUTE"
}
Datos transformados
{
"pi": {
"email": "js@example.com"
}
}
Matriz a matriz u objeto a objeto
Con el tipo de origen ATTRIBUTE
, también puede asignar directamente una matriz a una matriz o un objeto a un objeto. A continuación se puede encontrar un ejemplo de esta asignación:
Archivo JSON de muestra
{
"customerInfo": {
"emails": [
{
"name": "John Smith",
"email": "js@example.com"
},
{
"name": "Jane Smith",
"email": "jane@example.com"
}
]
}
}
Asignación de muestra
{
"source": "customerInfo.emails",
"destination": "pi.emailList",
"sourceType": "ATTRIBUTE"
}
Datos transformados
{
"pi": {
"emailList": [
{
"name": "John Smith",
"email": "js@example.com"
},
{
"name": "Jane Smith",
"email": "jane@example.com"
}
]
}
}
Operaciones iterativas en matrices
Con el tipo de origen ATTRIBUTE
, puede recorrer en bucle de forma iterativa las matrices y asignarlas a un esquema de destino mediante un índice comodín ([*]
). A continuación se puede encontrar un ejemplo de esta asignación:
Archivo JSON de muestra
{
"customerInfo": {
"emails": [
{
"name": "John Smith",
"email": "js@example.com"
},
{
"name": "Jane Smith",
"email": "jane@example.com"
}
]
}
}
Asignación de muestra
{
"source": "customerInfo.emails[*].name",
"destination": "pi[*].names",
"sourceType": "ATTRIBUTE"
}
Datos transformados
{
"pi": [
{
"names": {
"name": "John Smith"
}
},
{
"names": {
"name": "Jane Smith"
}
}
]
}
Valor constante
Si desea asignar una constante o un valor estático, utilice el tipo de origen STATIC
. Al usar el tipo de origen STATIC
, source
representa el valor codificado que desea asignar a destination
. A continuación se puede encontrar un ejemplo de esta asignación:
Archivo JSON de muestra
{
"name": "John Smith",
"email": "js@example.com"
}
Asignación de muestra
{
"source": "CUSTOMER",
"destination": "userType",
"sourceType": "STATIC"
}
Datos transformados
{
"userType:": "CUSTOMER"
}
Expresiones
Si desea asignar una expresión, utilice el tipo de origen EXPRESSION
. Se puede encontrar una lista de funciones aceptadas en la guía de funciones de asignación. Al utilizar el tipo de origen EXPRESSION
, source
representa la función que desea resolver. A continuación se puede encontrar un ejemplo de esta asignación:
Archivo JSON de muestra
{
"firstName": "John",
"lastName": "Smith",
"email": "js@example.com"
}
Asignación de muestra
{
"source": "concat(upper(lastName), upper(firstName), now())",
"destination": "pi.created",
"sourceType": "EXPRESSION"
}
Datos transformados
{
"pi": {
"created": "SMITHJOHNFri Sep 25 15:17:31 PDT 2020"
}
}
Configuración de destinos de asignación
En una asignación, destination
es la ubicación donde se insertará el valor extraído de source
.
Campo en el nivel raíz
Cuando desee asignar el valor source
al nivel raíz de los datos transformados, siga el ejemplo siguiente:
Archivo JSON de muestra
{
"customerInfo": {
"name": "John Smith",
"email": "js@example.com"
}
}
Asignación de muestra
{
"source": "customerInfo.name",
"destination": "name",
"sourceType": "ATTRIBUTE"
}
Datos transformados
{
"name": "John Smith"
}
Campo anidado
Cuando quiera asignar el valor source
a un campo anidado en los datos transformados, siga el ejemplo siguiente:
Archivo JSON de muestra
{
"name": "John Smith",
"email": "js@example.com"
}
Asignación de muestra
{
"source": "name",
"destination": "pi.name",
"sourceType": "ATTRIBUTE"
}
Datos transformados
{
"pi": {
"name": "John Smith"
}
}
Campo en un índice de matriz específico
Cuando desee asignar el valor source
a un índice específico de una matriz en los datos transformados, siga el ejemplo siguiente:
Archivo JSON de muestra
{
"customerInfo": {
"name": "John Smith",
"email": "js@example.com"
}
}
Asignación de muestra
{
"source": "customerInfo.name",
"destination": "piList[0]",
"sourceType": "ATTRIBUTE"
}
Datos transformados
{
"piList": ["John Smith"]
}
Operación de matriz iterativa
Si desea recorrer en bucle de forma iterativa las matrices y asignar los valores al destino, puede utilizar un índice comodín ([*]
). A continuación puede ver un ejemplo de esto:
{
"customerInfo": {
"emails": [
{
"name": "John Smith",
"email": "js@example.com"
},
{
"name": "Jane Smith",
"email": "jane@example.com"
}
]
}
}
Asignación de muestra
{
"source": "customerInfo.emails[*].name",
"destination": "pi[*].names",
"sourceType": "ATTRIBUTE"
}
Datos transformados
{
"pi": [
{
"names": {
"name": "John Smith"
}
},
{
"names": {
"name": "Jane Smith"
}
}
]
}
Pasos siguientes
Al leer este documento, ahora debería comprender cómo se construyen los conjuntos de asignaciones, incluido cómo configurar asignaciones individuales dentro de un conjunto de asignaciones. Para obtener más información sobre otras características de la preparación de datos, lea Información general sobre la preparación de datos. Para aprender a utilizar conjuntos de asignaciones en la API de preparación de datos, lea la Guía para desarrolladores de preparación de datos.