Enviar actualizaciones parciales de fila a Real-Time Customer Profile usando Data Prep
Actualizaciones de streaming en Data Prep le permite enviar actualizaciones parciales de fila a Real-Time Customer Profile datos, al tiempo que se crean y establecen nuevos vínculos de identidad con una única solicitud de API.
Al transmitir las actualizaciones, puede conservar el formato de los datos mientras los traduce a Real-Time Customer Profile solicitudes del PATCH durante la ingesta. En función de las entradas que proporcione, Data Prep le permite enviar una sola carga útil de API y traducir los datos a ambos Real-Time Customer Profile PATCH y Identity Service CREAR solicitudes.
Este documento proporciona información sobre cómo transmitir actualizaciones en Data Prep.
Introducción
Esta descripción general requiere una comprensión práctica de los siguientes componentes de Adobe Experience Platform:
- Data Prep: Data Prep permite a los ingenieros de datos asignar, transformar y validar datos desde y hacia el modelo de datos de Experience (XDM).
- Identity Service: obtenga una mejor vista de los clientes individuales y su comportamiento uniendo identidades entre dispositivos y sistemas.
- Perfil del cliente en tiempo real: Proporciona un perfil de cliente unificado en tiempo real en función de los datos agregados de varias fuentes.
- Fuentes: Experience Platform permite la ingesta de datos desde varias fuentes y, al mismo tiempo, le ofrece la capacidad de estructurar, etiquetar y mejorar los datos entrantes mediante los servicios de Platform.
Uso de actualizaciones de flujo continuo en Data Prep streaming-upserts-in-data-prep
Flujo de trabajo de alto nivel de actualizaciones de streaming
Actualizaciones de streaming en Data Prep funciona de la siguiente manera:
-
Primero debe crear y habilitar un conjunto de datos para Profile consumo. Consulte la guía de habilitar un conjunto de datos para Profile para obtener más información.
-
Si se deben vincular nuevas identidades, también se debe crear un conjunto de datos adicional con el mismo esquema como su Profile conjunto de datos.
-
Una vez preparados los conjuntos de datos, debe crear un flujo de datos para asignar la solicitud entrante a Profile conjunto de datos;
-
A continuación, debe actualizar la solicitud entrante para incluir los encabezados necesarios. Estos encabezados definen:
- La operación de datos que se debe realizar con Profile:
create
,merge
, ydelete
. - La operación de identidad opcional que se va a realizar con Identity Service:
create
.
- La operación de datos que se debe realizar con Profile:
Configuración del conjunto de datos de identidad
Si se deben vincular nuevas identidades, debe crear y pasar un conjunto de datos adicional en la carga útil entrante. Al crear un conjunto de datos de identidad, debe asegurarse de que se cumplan los siguientes requisitos:
- El conjunto de datos de identidad debe tener su esquema asociado como Profile conjunto de datos. Una discrepancia en los esquemas puede provocar un comportamiento incoherente del sistema.
- Sin embargo, debe asegurarse de que el conjunto de datos de identidad sea diferente al de Profile conjunto de datos. Si los conjuntos de datos son los mismos, los datos se sobrescribirán en lugar de actualizarse.
- Mientras que el conjunto de datos inicial debe estar habilitado para Profile, el conjunto de datos de identidad no debe estar habilitado para Profile. De lo contrario, los datos también se sobrescribirán en lugar de actualizarse. Sin embargo, el conjunto de datos de identidad debe estar habilitado para Identity Service.
Campos obligatorios en los esquemas asociados al conjunto de datos de identidad identity-dataset-required-fileds
Si el esquema contiene campos obligatorios, la validación del conjunto de datos debe suprimirse para habilitar Identity Service para recibir solo las identidades. Puede suprimir la validación aplicando la variable disabled
valor para acp_validationContext
parámetro. Consulte el ejemplo siguiente:
curl -X POST 'https://platform.adobe.io/data/foundation/catalog/dataSets/62257bef7a75461948ebcaaa' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"tags": {
"acp_validationContext": [
"disabled"
],
"unifiedProfile": [
"enabled:false"
],
"unifiedIdentity": [
"enabled:true"
]
}
}'
Estructura de carga útil entrante
A continuación se muestra un ejemplo de una estructura de carga útil entrante que establece nuevos vínculos de identidad.
Carga útil con configuración de identidad
{
"header": {
"flowId": "923e2ac3-3869-46ec-9e6f-7012c4e23f69",
"imsOrgId": "{ORG_ID}",
"datasetId": "621fc19ab33d941949af16c8",
"operations": {
"data": "create" (default)/"merge"/"delete",
"identity": "create",
"identityDatasetId": "621fc19ab33d941949af16d9"
}
}
... //The raw data attributes are included here as the key/value pairs of the "body" property.
}
flowId
datasetId
parámetro.imsOrgId
datasetId
operations
operations.data
operations.identity
operations.identityDatasetId
Operaciones compatibles
Las siguientes operaciones son compatibles con Real-Time Customer Profile:
create
merge
delete
Las siguientes operaciones son compatibles con Identity Service:
create
create
se pasa como valor para operations.identity
, entonces Data Prep genera una solicitud de creación de entidad XDM para Identity Service. Si la identidad ya existe, se ignora la identidad. Nota: If operations.identity
se establece en create
y, a continuación, el identityDatasetId
también se debe especificar. El mensaje de creación de entidad XDM generado internamente por Data Prep se generará el componente para este id del conjunto de datos.Carga útil sin configuración de identidad
Si no es necesario vincular nuevas identidades, puede omitir la variable identity
y identityDatasetId
parámetros en las operaciones. Al hacerlo, los datos solo se envían a Real-Time Customer Profile y omite el Identity Service. Consulte la carga útil siguiente para ver un ejemplo:
{
"header": {
"flowId": "923e2ac3-3869-46ec-9e6f-7012c4e23f69",
"imsOrgId": "{ORG_ID}",
"datasetId": "621fc19ab33d941949af16c8",
"operations": {
"data": "create"/"merge"/"delete",
}
}
... //The raw data attributes are included here as the key/value pairs of the "body" property.
}
Transferir identidades principales de forma dinámica
Para las actualizaciones de XDM, el esquema debe estar habilitado para Profile y contienen una identidad principal. Puede especificar la identidad principal de un esquema XDM de dos formas:
- Designar un campo estático como identidad principal en el esquema XDM;
- Designe uno de los campos de identidad como identidad principal a través del grupo de campos mapa de identidad en el esquema XDM.
Designar un campo estático como campo de identidad principal en el esquema XDM
En el ejemplo siguiente, state
, homePhone.number
y otros atributos se actualizan con sus respectivos valores dados en la variable Profile con la identidad principal de sampleEmail@gmail.com
. A continuación, la transmisión genera un mensaje de actualización de entidad XDM Data Prep componente. Real-Time Customer Profile a continuación, confirma ese mensaje de actualización de XDM para actualizar el registro de perfil.
curl -X POST 'https://dcs.adobedc.net/collection/9aba816d350a69c4abbd283eb5818ec3583275ffce4880ffc482be5a9d810c4b' \
-H 'Content-Type: application/json' \
-H 'x-adobe-flow-id: d5262d48-0f47-4949-be6d-795f06933527' \
-d '{
"header": {
"flowId" : "d5262d48-0f47-4949-be6d-795f06933527",
"imsOrgId": "{ORG_ID}",
"datasetId": "62259f817f62d71947929a7b",
"operations": {
"data": "create"
}
},
{
"body": {
"homeAddress": {
"country": "US",
"state": "GA",
"region": "va7"
},
"homePhone": {
"number": "123.456.799"
},
"identityMap": {
"Email": [{
"id": "sampleEmail@gmail.com",
"primary": true
}]
},
"personalEmail": {
"address": "sampleEmail@gmail.com",
"primary": true
},
"personID": "346576345",
"_id": "346576345",
"timestamp": "2021-05-05T17:51:45.1880+02",
"workEmail": "sampleWorkEmail@gmail.com"
}
}'
Designe uno de los campos de identidad como identidad principal a través del grupo de campos de mapa de identidad en el esquema XDM
En este ejemplo, el encabezado contiene operations
con el atributo identity
y identityDatasetId
propiedades. Esto permite combinar los datos con Real-Time Customer Profile y también para que las identidades se pasen a Identity Service.
curl -X POST 'https://dcs.adobedc.net/collection/9aba816d350a69c4abbd283eb5818ec3583275ffce4880ffc482be5a9d810c4b' \
-H 'Content-Type: application/json' \
-H 'x-adobe-flow-id: d5262d48-0f47-4949-be6d-795f06933527' \
-d '{
"header": {
"flowId" : "d5262d48-0f47-4949-be6d-795f06933527",
"imsOrgId": "{ORG_ID}",
"datasetId": "62259f817f62d71947929a7b",
"operations": {
"data": "merge",
"identity": "create",
"identityDatasetId": "6254a93b851ecd194b64af9e"
}
},
{
"body": {
"homeAddress": {
"country": "US",
"state": "GA",
"region": "va7"
},
"homePhone": {
"number": "123.456.799"
},
"identityMap": {
"Email": [{
"id": "sampleEmail@gmail.com",
"primary": true
}]
},
"personalEmail": {
"address": "sampleEmail@gmail.com",
"primary": true
},
"personID": "346576345",
"_id": "346576345",
"timestamp": "2021-05-05T17:51:45.1880+02",
"workEmail": "sampleWorkEmail@gmail.com"
}
}'
Limitaciones conocidas y consideraciones clave
A continuación se describe una lista de limitaciones conocidas a tener en cuenta al transmitir actualizaciones con Data Prep:
- El método de actualizaciones de flujo continuo solo debe usarse al enviar actualizaciones de fila parciales a Real-Time Customer Profile. Las actualizaciones parciales de filas son no consumido por el lago de datos.
- El método de actualizaciones de streaming no admite la actualización, el reemplazo y la eliminación de identidades. Si no existen, se crean nuevas identidades. Por lo tanto,
identity
La operación siempre debe configurarse para crear. Si ya existe una identidad, la operación no es operativa. - Actualmente, el método de actualizaciones de streaming no es compatible SDK web de Adobe Experience Platform y SDK de Adobe Experience Platform Mobile.
Pasos siguientes
Al leer este documento, ahora debería comprender cómo transmitir las actualizaciones en Data Prep para enviar actualizaciones parciales de fila a Real-Time Customer Profile datos, al tiempo que se crean y vinculan identidades con una sola solicitud de API. Para obtener más información sobre otros Data Prep funciones, lea la Data Prep descripción general. Para aprender a utilizar conjuntos de asignaciones dentro de Data Prep API, lea la Data Prep guía para desarrolladores.