Visão geral dos conjuntos de mapeamento

Um conjunto de mapeamento é um conjunto de mapeamentos que transforma os dados de um esquema para outro. Este documento fornece informações sobre como os conjuntos de mapeamento são compostos, incluindo o esquema de entrada, o esquema de saída e os mapeamentos.

Introdução

Esta visão geral requer uma compreensão funcional dos seguintes componentes do Adobe Experience Platform:

  • Preparação de dados: o Preparo de dados permite que os engenheiros de dados mapeiem, transformem e validem dados de e para o Experience Data Model (XDM).
  • Fluxos de dados: os fluxos de dados são uma representação de trabalhos de dados que movem os dados pela Plataforma. Os fluxos de dados são configurados em diferentes serviços, ajudando a mover dados dos conectores de origem para os conjuntos de dados de destino para Identity e Profile, e para Destinations.
  • Adobe Experience Platform Data Ingestion: os métodos pelos quais os dados podem ser enviados para o Experience Platform.
  • Experience Data Model (XDM) System: o quadro normalizado pelo qual Experience Platform organiza os dados de experiência do cliente.

Sintaxe do conjunto de mapeamento

Um conjunto de mapeamento é composto de uma ID, nome, esquema de entrada, esquema de saída e uma lista de mapeamentos associados.

O JSON a seguir é um exemplo de um conjunto de mapeamento 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"
        }
    ]
}
Propriedade
Descrição
id
Um identificador exclusivo do conjunto de mapeamento.
name
O nome do conjunto de mapeamento.
inputSchema
O esquema XDM para os dados de entrada.
outputSchema
O esquema XDM ao qual os dados de entrada foram transformados para se adequar.
mappings
Uma matriz de mapeamentos de campo para campo do esquema de origem para o esquema de destino.
sourceType

Para cada mapeamento listado, seu sourceType attribute indica o tipo de origem a ser mapeada. Pode ser um de ATTRIBUTE, STATICou EXPRESSION:

  • ATTRIBUTE é usado para qualquer valor encontrado no caminho de origem.
  • STATIC é usado para valores inseridos no caminho de destino. Esse valor permanece constante e não é afetado pelo esquema de origem.
  • EXPRESSION é usado para uma expressão, que será resolvida durante o tempo de execução. Uma lista de expressões disponíveis pode ser encontrada no guia de funções de mapeamento.
source
Para cada mapeamento listado, a variável source attribute indica o campo que você deseja mapear. Mais informações sobre como configurar sua origem podem ser encontradas na visão geral das origens.
destination
Para cada mapeamento listado, a variável destination atributo indica o campo, ou o caminho para o campo, onde o valor extraído do campo source será colocado. Mais informações sobre como configurar os destinos podem ser encontradas na visão geral do destino.
mappings.name
(Opcional) Um nome para o mapeamento.
mappings.description
(Opcional) Uma descrição do mapeamento.

Configuração de origens de mapeamento

Em um mapeamento, a variável source pode ser um campo, uma expressão ou um valor estático. Com base no tipo de origem fornecido, o valor pode ser extraído de várias maneiras.

Campo em dados de colunas

Ao mapear um campo em dados de colunas, como um arquivo CSV, use o ATTRIBUTE tipo de origem. Se o campo contiver . em seu nome, use \ para omitir o valor. Um exemplo desse mapeamento pode ser encontrado abaixo:

Arquivo CSV de exemplo:

Full.Name, Email
John Smith, js@example.com

Mapeamento de amostra

{
    "source": "Full.Name",
    "destination": "pi.name",
    "sourceType": "ATTRIBUTE"
}

Dados transformados

{
    "pi": {
        "name": "John Smith"
    }
}

Campo em dados aninhados

Ao mapear um campo em dados aninhados, como um arquivo JSON, use o ATTRIBUTE tipo de origem. Se o campo contiver . em seu nome, use \ para omitir o valor. Um exemplo desse mapeamento pode ser encontrado abaixo:

Arquivo JSON de amostra

{
    "customerInfo": {
        "name": "John Smith",
        "email": "js@example.com"
    }
}

Mapeamento de amostra

{
    "source": "customerInfo.name",
    "destination": "pi.name",
    "sourceType": "ATTRIBUTE"
}

Dados transformados

{
    "pi": {
        "name": "John Smith"
    }
}

Campo dentro de uma matriz

Ao mapear um campo em uma matriz, você pode recuperar um valor específico usando um índice. Para fazer isso, use o ATTRIBUTE tipo de origem e o índice do valor que você deseja mapear. Um exemplo desse mapeamento pode ser encontrado abaixo:

Arquivo JSON de amostra

{
    "customerInfo": {
        "emails": [
            {
                "name": "John Smith",
                "email": "js@example.com"
            },
            {
                "name": "Jane Smith",
                "email": "jane@example.com"
            }
        ]
    }
}

Mapeamento de amostra

{
    "source": "customerInfo.emails[0].email",
    "destination": "pi.email",
    "sourceType": "ATTRIBUTE"
}

Dados transformados

{
    "pi": {
        "email": "js@example.com"
    }
}

Matriz para matriz ou objeto para objeto

Usar o ATTRIBUTE tipo de origem, você também pode mapear diretamente uma matriz para uma matriz ou um objeto para um objeto. Um exemplo desse mapeamento pode ser encontrado abaixo:

Arquivo JSON de amostra

{
    "customerInfo": {
        "emails": [
            {
                "name": "John Smith",
                "email": "js@example.com"
            },
            {
                "name": "Jane Smith",
                "email": "jane@example.com"
            }
        ]
    }
}

Mapeamento de amostra

{
    "source": "customerInfo.emails",
    "destination": "pi.emailList",
    "sourceType": "ATTRIBUTE"
}

Dados transformados

{
    "pi": {
        "emailList": [
            {
                "name": "John Smith",
                "email": "js@example.com"
            },
            {
                "name": "Jane Smith",
                "email": "jane@example.com"
            }
        ]
    }
}

Operações iterativas em arrays

Usar o ATTRIBUTE tipo de origem, é possível executar um loop iterativo pelas matrizes e mapeá-las para um esquema de destino usando um índice curinga ([*]). Um exemplo desse mapeamento pode ser encontrado abaixo:

Arquivo JSON de amostra

{
    "customerInfo": {
        "emails": [
            {
                "name": "John Smith",
                "email": "js@example.com"
            },
            {
                "name": "Jane Smith",
                "email": "jane@example.com"
            }
        ]
    }
}

Mapeamento de amostra

{
    "source": "customerInfo.emails[*].name",
    "destination": "pi[*].names",
    "sourceType": "ATTRIBUTE"
}

Dados transformados

{
    "pi": [
        {
            "names": {
                "name": "John Smith"
            }
        },
        {
            "names": {
                "name": "Jane Smith"
            }
        }
    ]
}

Valor constante

Se quiser mapear um valor constante ou estático, use o STATIC tipo de origem. Ao usar o STATIC tipo de origem, a variável source representa o valor embutido em código que você deseja atribuir à variável destination. Um exemplo desse mapeamento pode ser encontrado abaixo:

Arquivo JSON de amostra

{
    "name": "John Smith",
    "email": "js@example.com"
}

Mapeamento de amostra

{
    "source": "CUSTOMER",
    "destination": "userType",
    "sourceType": "STATIC"
}

Dados transformados

{
    "userType:": "CUSTOMER"
}

Expressões

Se quiser mapear uma expressão, use o EXPRESSION tipo de origem. Uma lista de funções aceitas pode ser encontrada no guia de funções de mapeamento. Ao usar o EXPRESSION tipo de origem, a variável source representa a função que você deseja resolver. Um exemplo desse mapeamento pode ser encontrado abaixo:

Arquivo JSON de amostra

{
    "firstName": "John",
    "lastName": "Smith",
    "email": "js@example.com"
}

Mapeamento de amostra

{
    "source": "concat(upper(lastName), upper(firstName), now())",
    "destination": "pi.created",
    "sourceType": "EXPRESSION"
}

Dados transformados

{
    "pi": {
        "created": "SMITHJOHNFri Sep 25 15:17:31 PDT 2020"
    }
}

Configuração de destinos de mapeamento

Em um mapeamento, a variável destination é o local onde o valor extraído da variável source será inserido.

Campo no nível raiz

Quando quiser mapear a variável source para o nível raiz dos seus dados transformados, siga o exemplo abaixo:

Arquivo JSON de amostra

{
    "customerInfo": {
        "name": "John Smith",
        "email": "js@example.com"
    }
}

Mapeamento de amostra

{
    "source": "customerInfo.name",
    "destination": "name",
    "sourceType": "ATTRIBUTE"
}

Dados transformados

{
    "name": "John Smith"
}

Campo aninhado

Quando quiser mapear a variável source para um campo aninhado em seus dados transformados, siga o exemplo abaixo:

Arquivo JSON de amostra

{
    "name": "John Smith",
    "email": "js@example.com"
}

Mapeamento de amostra

{
    "source": "name",
    "destination": "pi.name",
    "sourceType": "ATTRIBUTE"
}

Dados transformados

{
    "pi": {
        "name": "John Smith"
    }
}

Campo em um índice de matriz específico

Quando quiser mapear a variável source para um índice específico em uma matriz nos dados transformados, siga o exemplo abaixo:

Arquivo JSON de amostra

{
    "customerInfo": {
        "name": "John Smith",
        "email": "js@example.com"
    }
}

Mapeamento de amostra

{
    "source": "customerInfo.name",
    "destination": "piList[0]",
    "sourceType": "ATTRIBUTE"
}

Dados transformados

{
    "piList": ["John Smith"]
}

Operação de matriz iterativa

Quando quiser executar um loop iterativo pelas matrizes e mapear os valores para o destino, você poderá usar um índice curinga ([*]). Um exemplo disso pode ser visto abaixo:

{
    "customerInfo": {
        "emails": [
            {
                "name": "John Smith",
                "email": "js@example.com"
            },
            {
                "name": "Jane Smith",
                "email": "jane@example.com"
            }
        ]
    }
}

Mapeamento de amostra

{
    "source": "customerInfo.emails[*].name",
    "destination": "pi[*].names",
    "sourceType": "ATTRIBUTE"
}

Dados transformados

{
    "pi": [
        {
            "names": {
                "name": "John Smith"
            }
        },
        {
            "names": {
                "name": "Jane Smith"
            }
        }
    ]
}

Próximas etapas

Após a leitura deste documento, você deve entender como os conjuntos de mapeamento são construídos, incluindo como configurar mapeamentos individuais em um conjunto de mapeamento. Para obter mais informações sobre outros recursos do Preparo de dados, leia a Visão geral do Preparo de dados. Para saber como usar conjuntos de mapeamento na API de Preparo de dados, leia o Guia do desenvolvedor de Preparo de dados.

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