Enviar actualizaciones parciales de fila a Real-Time Customer Profile usando Data Prep

WARNING
La ingesta en mensajes de actualización de entidad del modelo de datos de experiencia (XDM) (con operaciones de PATCH de JSON) para actualizaciones de perfil a través de la entrada DCS ha quedado obsoleta. Como alternativa, puede hacer lo siguiente ingesta de datos sin procesar en la entrada del DCS y especifique las asignaciones de datos necesarias para transformar los datos en mensajes compatibles con XDM para actualizaciones de perfil.

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.

NOTE
Para aprovechar la funcionalidad de actualización, se recomienda desactivar las configuraciones compatibles con XDM durante la ingesta de datos y volver a asignar la carga útil entrante mediante Asignador de preparación de datos.

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

NOTE
Las siguientes fuentes admiten el uso de actualizaciones de flujo continuo:

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, y delete.
    • La operación de identidad opcional que se va a realizar con Identity Service: create.

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"
        ]
    }
}'
TIP
No es necesario realizar ninguna configuración adicional si el esquema asociado con el conjunto de datos de identidad no tiene campos obligatorios.

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.
}
Parámetro
Descripción
flowId
ID único para identificar un flujo de datos. Este ID de flujo de datos debe corresponder a la conexión de origen creada con Amazon Kinesis, Azure Event Hubs, o HTTP API. Este flujo de datos también debe tener un ProfileConjunto de datos habilitado para como conjunto de datos de destino. Nota: el ID del ProfileEl conjunto de datos de Target habilitado para también se usa como datasetId parámetro.
imsOrgId
El ID que corresponde a su organización.
datasetId
El ID del ProfileConjunto de datos de destino habilitado para el flujo de datos. Nota: Es el mismo ID que el ProfileSe ha encontrado un ID de conjunto de datos de destino habilitado en el flujo de datos.
operations
Este parámetro describe las acciones que Data Prep tomará en función de la solicitud entrante.
operations.data
Define las acciones que se deben realizar en Real-Time Customer Profile.
operations.identity
Define las operaciones permitidas en los datos por Identity Service.
operations.identityDatasetId
(Opcional) ID del conjunto de datos de identidad que solo es necesario si se deben vincular nuevas identidades.

Operaciones compatibles

Las siguientes operaciones son compatibles con Real-Time Customer Profile:

Operaciones
Descripción
create
La operación predeterminada. Esto genera un método de creación de entidad XDM para Real-Time Customer Profile.
merge
Esto genera un método de actualización de entidad XDM para Real-Time Customer Profile.
delete
Esto genera un método de eliminación de entidad XDM para Real-Time Customer Profile y elimina permanentemente los datos del Profile store.

Las siguientes operaciones son compatibles con Identity Service:

Operaciones
Descripciones
create
La única operación permitida para este parámetro. If 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 createy, 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.

NOTE
En este ejemplo, las identidades no se vincularán porque no hay operaciones definidas para la identidad.
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.

recommendation-more-help
461cc884-c234-4a0c-ac75-6efbaafc1394