Panoramica sui set di mappatura

Un set di mappatura è un set di mappature che trasforma i dati da uno schema a un altro. Questo documento fornisce informazioni sulla composizione dei set di mappatura, inclusi schema di input, schema di output e mappature.

Introduzione

Questa panoramica richiede una buona conoscenza dei seguenti componenti di Adobe Experience Platform:

  • Preparazione dati: la preparazione dati consente ai data engineer di mappare, trasformare e convalidare i dati da e verso Experience Data Model (XDM).
  • Flussi dati: i flussi dati sono una rappresentazione dei processi di dati che spostano i dati in Platform. I flussi di dati sono configurati tra servizi diversi, consentendo di spostare i dati dai connettori di origine ai set di dati di destinazione, a Identity e Profile e a Destinations.
  • Adobe Experience Platform Data Ingestion: i metodi tramite i quali i dati possono essere inviati a Experience Platform.
  • Experience Data Model (XDM) System: framework standardizzato tramite il quale Experience Platform organizza i dati sull'esperienza del cliente.

Sintassi del set di mappatura

Un set di mappatura è composto da un ID, un nome, uno schema di input, uno schema di output e un elenco di mappature associate.

Il seguente codice JSON è un esempio di un set di mappatura tipico:

{
    "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"
        }
    ]
}
Proprietà
Descrizione
id
Identificatore univoco per il set di mappatura.
name
Nome del set di mappatura.
inputSchema
Schema XDM per i dati in arrivo.
outputSchema
Lo schema XDM a cui i dati di input verranno trasformati per essere conformi.
mappings
Matrice di mappature campo-campo dallo schema di origine allo schema di destinazione.
sourceType

Per ogni mappatura elencata, il relativo attributo sourceType indica il tipo di origine da mappare. Può essere uno di ATTRIBUTE, STATIC o EXPRESSION:

  • ATTRIBUTE viene utilizzato per qualsiasi valore trovato nel percorso di origine.
  • STATIC viene utilizzato per i valori inseriti nel percorso di destinazione. Questo valore rimane costante e non è influenzato dallo schema di origine.
  • EXPRESSION viene utilizzato per un'espressione che verrà risolta durante il runtime. Un elenco delle espressioni disponibili è disponibile nella guida alle funzioni di mappatura.
source
Per ogni mappatura elencata, l'attributo source indica il campo da mappare. Ulteriori informazioni sulla configurazione dell'origine sono disponibili nella panoramica delle origini.
destination
Per ogni mappatura elencata, l'attributo destination indica il campo o il percorso del campo in cui verrà inserito il valore estratto dal campo source. Ulteriori informazioni su come configurare le destinazioni sono disponibili nella panoramica sulla destinazione.
mappings.name
(Facoltativo) Nome per il mapping.
mappings.description
(Facoltativo) Descrizione del mapping.

Configurazione delle origini di mappatura

In una mappatura, source può essere un campo, un'espressione o un valore statico. In base al tipo di origine fornito, il valore può essere estratto in vari modi.

Campo nei dati a colonne

Quando si esegue il mapping di un campo in dati a colonne, ad esempio un file CSV, utilizzare il tipo di origine ATTRIBUTE. Se il campo contiene . nel nome, utilizzare \ per eseguire l'escape del valore. Di seguito è riportato un esempio di questa mappatura:

File CSV di esempio:

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

Mappatura di esempio

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

Dati trasformati

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

Campo nei dati nidificati

Quando si esegue il mapping di un campo in dati nidificati, ad esempio un file JSON, utilizzare il tipo di origine ATTRIBUTE. Se il campo contiene . nel nome, utilizzare \ per eseguire l'escape del valore. Di seguito è riportato un esempio di questa mappatura:

File JSON di esempio

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

Mappatura di esempio

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

Dati trasformati

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

Campo all’interno di un array

Quando mappi un campo all’interno di un array, puoi recuperare un valore specifico utilizzando un indice. A tale scopo, utilizzare il tipo di origine ATTRIBUTE e l'indice del valore da mappare. Di seguito è riportato un esempio di questa mappatura:

File JSON di esempio

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

Mappatura di esempio

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

Dati trasformati

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

Matrice per matrice o oggetto per oggetto

Utilizzando il tipo di origine ATTRIBUTE, è inoltre possibile mappare direttamente un array a un array o un oggetto a un oggetto. Di seguito è riportato un esempio di questa mappatura:

File JSON di esempio

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

Mappatura di esempio

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

Dati trasformati

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

Operazioni iterative sugli array

Utilizzando il tipo di origine ATTRIBUTE, è possibile eseguire un ciclo iterativo tra le matrici e mapparle su uno schema di destinazione utilizzando un indice con caratteri jolly ([*]). Di seguito è riportato un esempio di questa mappatura:

File JSON di esempio

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

Mappatura di esempio

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

Dati trasformati

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

Valore costante

Se si desidera mappare una costante o un valore statico, utilizzare il tipo di origine STATIC. Quando si utilizza il tipo di origine STATIC, source rappresenta il valore hardcoded da assegnare a destination. Di seguito è riportato un esempio di questa mappatura:

File JSON di esempio

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

Mappatura di esempio

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

Dati trasformati

{
    "userType:": "CUSTOMER"
}

Espressioni

Se si desidera mappare un'espressione, utilizzare il tipo di origine EXPRESSION. Un elenco delle funzioni accettate è disponibile nella guida delle funzioni di mappatura. Quando si utilizza il tipo di origine EXPRESSION, source rappresenta la funzione da risolvere. Di seguito è riportato un esempio di questa mappatura:

File JSON di esempio

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

Mappatura di esempio

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

Dati trasformati

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

Configurazione delle destinazioni di mappatura

In una mappatura, destination è la posizione in cui verrà inserito il valore estratto da source.

Campo a livello di radice

Per mappare il valore source al livello principale dei dati trasformati, attenersi all'esempio seguente:

File JSON di esempio

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

Mappatura di esempio

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

Dati trasformati

{
    "name": "John Smith"
}

Campo nidificato

Per mappare il valore source a un campo nidificato nei dati trasformati, attenersi all'esempio seguente:

File JSON di esempio

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

Mappatura di esempio

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

Dati trasformati

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

Campo in un indice di array specifico

Per mappare il valore source a un indice specifico di un array nei dati trasformati, attenersi all'esempio seguente:

File JSON di esempio

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

Mappatura di esempio

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

Dati trasformati

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

Funzionamento iterativo dell'array

Se si desidera eseguire un ciclo iterativo tra matrici e mappare i valori alla destinazione, è possibile utilizzare un indice con caratteri jolly ([*]). Di seguito è riportato un esempio:

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

Mappatura di esempio

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

Dati trasformati

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

Passaggi successivi

Una volta letto questo documento, sarai in grado di comprendere come vengono costruiti i set di mappatura, e come configurare le singole mappature all’interno di un set di mappatura. Per ulteriori informazioni su altre funzioni di preparazione dati, leggere la panoramica sulla preparazione dati. Per informazioni su come utilizzare i set di mappatura nell'API della preparazione dati, consulta la Guida per gli sviluppatori della preparazione dati.

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