Streaming de upserts em Data Prep permite enviar atualizações de linha parciais para o Profile Service dados, além de criar e estabelecer novos links de identidade com uma única solicitação de API.
Ao fazer o streaming de upserts, você pode manter o formato de seus dados e, ao mesmo tempo, traduzir esses dados para Profile Service Solicitações de PATCH durante a assimilação. Com base nas entradas fornecidas, Data Prep permite enviar uma única carga da API e traduzir os dados para ambos Profile Service PATCH e Identity Service CRIAR solicitações.
Este documento fornece informações sobre como fazer o stream de ascendentes em Data Prep.
Essa visão geral requer uma compreensão funcional dos seguintes componentes do Adobe Experience Platform:
As seguintes fontes oferecem suporte para o uso de upserts de transmissão:
Streaming de upserts em Data Prep funciona da seguinte forma:
create
, merge
e delete
;create
.Se novas identidades precisarem ser vinculadas, você deverá criar e transmitir um conjunto de dados adicional na carga útil recebida. Ao criar um conjunto de dados de identidade, você deve garantir que os seguintes requisitos sejam atendidos:
Se o esquema contiver campos obrigatórios, a validação do conjunto de dados deverá ser suprimida para ativar Identity Service para receber apenas as identidades. É possível suprimir a validação aplicando o disabled
para acp_validationContext
parâmetro. Veja o exemplo abaixo:
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"]
}
}'
Não é necessário fazer nenhuma configuração adicional se o esquema associado ao conjunto de dados de identidade não tiver campos obrigatórios.
A seguir, um exemplo de uma estrutura de payload de entrada que estabelece novos links de identidade.
{
"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 | Descrição |
---|---|
flowId |
Uma ID exclusiva para identificar um fluxo de dados. Essa ID de fluxo de dados deve corresponder à conexão de origem criada com o Amazon Kinesis, Azure Event Hubsou HTTP API. Esse fluxo de dados também deve ter uma ProfileConjunto de dados habilitado para o Target como o conjunto de dados de destino. Observação: A ID do ProfileO conjunto de dados de destino habilitado também é usado como datasetId parâmetro. |
imsOrgId |
A ID que corresponde à organização. |
datasetId |
A ID do ProfileConjunto de dados de destino habilitado para o seu fluxo de dados. Observação: Essa é a mesma ID da variável ProfileID do conjunto de dados de destino habilitado para o Target encontrada no seu fluxo de dados. |
operations |
Esse parâmetro descreve as ações que Data Prep O será baseado na solicitação de entrada. |
operations.data |
Define as ações que devem ser executadas em Profile Service. |
operations.identity |
Define as operações permitidas nos dados por Identity Service. |
operations.identityDatasetId |
(Opcional) A ID do conjunto de dados de identidade que é necessária somente se novas identidades tiverem de ser vinculadas. |
As seguintes operações são suportadas pela Profile Service:
Operações | Descrição |
---|---|
create |
A operação padrão. Isso gera um método de criação de entidade XDM para Profile Service. |
merge |
Isso gera um método de atualização de entidade XDM para Profile Service. |
delete |
Isso gera um método de exclusão de entidade XDM para Profile Service e remove permanentemente os dados do Profile Store. |
As seguintes operações são suportadas pela Identity Service:
Operações | Descrições |
---|---|
create |
A única operação permitida para este parâmetro. If create é passado como um valor para operations.identity , em seguida Data Prep gera uma solicitação de criação de entidade XDM para Identity Service. Se a identidade já existir, ela será ignorada. Observação: If operations.identity está definida como create , em seguida, o identityDatasetId também deve ser especificado. A mensagem de criação da entidade XDM gerada internamente por Data Prep será gerado para essa id de conjunto de dados. |
Se novas identidades não precisarem ser vinculadas, é possível omitir a variável identity
e identityDatasetId
nas operações. Isso envia dados somente para Profile Service e ignora o Identity Service. Consulte a carga abaixo para obter um exemplo:
{
"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.
}
Para atualizações do XDM, o esquema deve ser ativado para Profile e contêm uma identidade primária. Você pode especificar a identidade primária de um esquema XDM de duas maneiras:
No exemplo abaixo, state
, homePhone.number
e outros atributos são atualizados com seus respectivos valores fornecidos na variável Profile com a principal identidade de sampleEmail@gmail.com
. Uma mensagem de atualização de entidade XDM é gerada pelo streaming Data Prep componente. Profile Service em seguida, confirma essa mensagem de atualização do XDM para atualizar o registro do perfil.
Neste exemplo, as identidades não serão vinculadas, pois não há operações definidas para a identidade.
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"
}
}'
Neste exemplo, o cabeçalho contém a variável operations
com o identity
e identityDatasetId
propriedades. Isso permite que os dados sejam mesclados com Profile Service e também para que as identidades sejam transmitidas para 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"
}
}'
A seguir, uma lista de limitações conhecidas a serem consideradas ao fazer o streaming de atualizações com Data Prep:
identity
deve ser sempre definida para criar. Se uma identidade já existir, a operação será inoperante.Ao ler este documento, agora você deve entender como fazer o stream de ascendentes no Data Prep para enviar atualizações de linha parciais ao seu Profile Service , enquanto também cria e vincula identidades com uma única solicitação de API. Para obter mais informações sobre outros Data Prep recursos, leia o Data Prep visão geral. Para saber como usar conjuntos de mapeamentos no Data Prep Leia a API Data Prep guia do desenvolvedor.