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 di 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: metodi tramite i quali i dati possono essere inviati a Experience Platform.
  • Experience Data Model (XDM) System: il quadro standardizzato mediante 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, i relativi sourceType attributo indica il tipo di origine da mappare. Può essere uno di ATTRIBUTE, STATIC, o EXPRESSION:

  • ATTRIBUTE viene utilizzato per qualsiasi valore presente 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 sezione guida alle funzioni di mappatura.
source
Per ogni mappatura elencata, source attributo indica il campo che si desidera mappare. Ulteriori informazioni su come configurare l’origine sono disponibili nella sezione panoramica sulle origini.
destination
Per ogni mappatura elencata, destination attributo indica il campo, o il percorso del campo, in cui il valore estratto dal campo source il campo verrà inserito. Ulteriori informazioni su come configurare le destinazioni sono disponibili nella sezione panoramica sulla destinazione.
mappings.name
(Facoltativo a) Nome per la mappatura.
mappings.description
(Facoltativo) Descrizione della mappatura.

Configurazione delle origini di mappatura

In una mappatura, il 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 mappi un campo in dati a colonne, ad esempio un file CSV, utilizza ATTRIBUTE tipo di origine. Se il campo contiene . all’interno del nome, utilizza \ per applicare l’escape al 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 mappi un campo in dati nidificati, ad esempio un file JSON, utilizza ATTRIBUTE tipo di origine. Se il campo contiene . all’interno del nome, utilizza \ per applicare l’escape al 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, utilizza ATTRIBUTE tipo di origine e 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

Utilizzo di ATTRIBUTE tipo di origine, puoi anche 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

Utilizzo di ATTRIBUTE tipo di origine, è possibile eseguire un ciclo iterativo tra gli array e mapparli 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 desideri mappare una costante o un valore statico, utilizza STATIC tipo di origine. Quando si utilizza STATIC tipo di origine, il source rappresenta il valore hardcoded che desideri assegnare al 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 desideri mappare un’espressione, utilizza EXPRESSION tipo di origine. Un elenco delle funzioni accettate è disponibile nella guida alle funzioni di mappatura. Quando si utilizza EXPRESSION tipo di origine, il 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, il destination è la posizione in cui il valore estratto dal valore source verrà inserito.

Campo a livello di radice

Quando desideri mappare il source al livello principale dei dati trasformati, segui l’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

Quando desideri mappare il source a un campo nidificato nei dati trasformati, segui l’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

Quando desideri mappare il source valore a un indice specifico in un array nei dati trasformati, segui l’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 le 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, consulta la sezione Panoramica sulla preparazione dati. Per informazioni su come utilizzare i set di mappatura nell’API di preparazione dati, consulta la sezione Guida per gli sviluppatori sulla preparazione dati.

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