Översikt över mappningsuppsättningar

En mappningsuppsättning är en uppsättning mappningar som transformerar data från ett schema till ett annat. Det här dokumentet innehåller information om hur mappningsuppsättningar är sammansatta, inklusive indataram, utdataram och mappningar.

Komma igång

Den här översikten kräver en fungerande förståelse av följande komponenter i Adobe Experience Platform:

  • Data Prep: Med Data Prep kan datatekniker mappa, omvandla och validera data till och från Experience Data Model (XDM).
  • Dataflöden: Dataflöden är en representation av datajobb som flyttar data mellan plattformar. Dataflöden är konfigurerade för olika tjänster, vilket hjälper dig att flytta data från källanslutningar till måldatauppsättningar, till Identity och Profile samt till Destinations.
  • Adobe Experience Platform Data Ingestion: Metoderna som data kan skickas till Experience Platform.
  • Experience Data Model (XDM) System: Det standardiserade ramverket som Experience Platform organiserar kundupplevelsedata med.

Syntax för mappningsuppsättning

En mappningsuppsättning består av ett ID, ett namn, ett indatabchema, ett utdatabchema och en lista med associerade mappningar.

Följande JSON är ett exempel på en typisk mappningsuppsättning:

{
    "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"
        }
    ]
}
Egenskap
Beskrivning
id
En unik identifierare för mappningsuppsättningen.
name
Mappningsuppsättningens namn.
inputSchema
XDM-schemat för inkommande data.
outputSchema
Det XDM-schema som indata har transformeras för att anpassas till.
mappings
En array med fält-till-fält-mappningar från källschemat till målschemat.
sourceType

För varje mappning i listan anger dess sourceType-attribut vilken typ av källa som ska mappas. Kan vara en av ATTRIBUTE, STATIC eller EXPRESSION:

  • ATTRIBUTE används för alla värden som hittas i källsökvägen.
  • STATIC används för värden som matats in i målsökvägen. Detta värde förblir konstant och påverkas inte av källschemat.
  • EXPRESSION används för ett uttryck som kommer att matchas under körning. En lista med tillgängliga uttryck finns i guiden för mappningsfunktioner.
source
För varje mappning i listan anger attributet source vilket fält du vill mappa. Mer information om hur du konfigurerar källan finns i Källöversikten.
destination
För varje mappning i listan anger attributet destination fältet, eller sökvägen till fältet, där värdet som extraherats från fältet source placeras. Mer information om hur du konfigurerar dina mål finns i målöversikten.
mappings.name
(Valfritt) Ett namn för mappningen.
mappings.description
(Valfritt) En beskrivning av mappningen.

Konfigurera mappningskällor

I en mappning kan source vara ett fält, uttryck eller ett statiskt värde. Baserat på den angivna källtypen kan värdet extraheras på olika sätt.

Fält i kolumndata

Använd källtypen ATTRIBUTE när du mappar ett fält i kolumndata, t.ex. en CSV-fil. Om fältet innehåller . i namnet använder du \ för att undvika värdet. Ett exempel på den här mappningen finns nedan:

CSV-exempelfil:

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

Exempelmappning

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

Omformade data

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

Fält i kapslade data

Använd källtypen ATTRIBUTE när du mappar ett fält i kapslade data, t.ex. en JSON-fil. Om fältet innehåller . i namnet använder du \ för att undvika värdet. Ett exempel på den här mappningen finns nedan:

JSON-exempelfil

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

Exempelmappning

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

Omformade data

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

Fält i en array

När du mappar ett fält inom en array kan du hämta ett specifikt värde med hjälp av ett index. Det gör du genom att använda källtypen ATTRIBUTE och indexvärdet för det värde som du vill mappa. Ett exempel på den här mappningen finns nedan:

JSON-exempelfil

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

Exempelmappning

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

Omformade data

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

Array till array eller objekt till objekt

Med källtypen ATTRIBUTE kan du även mappa en array direkt till en array eller ett objekt till ett objekt. Ett exempel på den här mappningen finns nedan:

JSON-exempelfil

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

Exempelmappning

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

Omformade data

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

Iterativa åtgärder för arrayer

Med hjälp av källtypen ATTRIBUTE kan du iterativt slinga igenom arrayer och mappa dem till ett målschema med hjälp av ett jokertecken ([*]). Ett exempel på den här mappningen finns nedan:

JSON-exempelfil

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

Exempelmappning

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

Omformade data

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

Konstantvärde

Om du vill mappa en konstant, eller ett statiskt värde, använder du källtypen STATIC. När du använder källtypen STATIC representerar source det hårdkodade värdet som du vill tilldela destination. Ett exempel på den här mappningen finns nedan:

JSON-exempelfil

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

Exempelmappning

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

Omformade data

{
    "userType:": "CUSTOMER"
}

Uttryck

Om du vill mappa ett uttryck använder du källtypen EXPRESSION. En lista över godkända funktioner finns i guiden för mappningsfunktioner. När du använder källtypen EXPRESSION representerar source funktionen som du vill matcha. Ett exempel på den här mappningen finns nedan:

JSON-exempelfil

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

Exempelmappning

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

Omformade data

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

Konfigurerar mappningsmål

I en mappning är destination platsen där värdet som extraherats från source infogas.

Fält på rotnivå

När du vill mappa värdet source till rotnivån för dina omformade data följer du exemplet nedan:

JSON-exempelfil

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

Exempelmappning

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

Omformade data

{
    "name": "John Smith"
}

Kapslat fält

När du vill mappa värdet source till ett kapslat fält i dina omformade data följer du exemplet nedan:

JSON-exempelfil

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

Exempelmappning

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

Omformade data

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

Fält vid ett specifikt arrayindex

När du vill mappa värdet source till ett specifikt index i en array i dina omformade data följer du exemplet nedan:

JSON-exempelfil

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

Exempelmappning

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

Omformade data

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

Interaktiv matrisåtgärd

När du iterativt vill göra en slinga genom arrayer och mappa värdena till målet, kan du använda ett jokertecken ([*]). Ett exempel på detta visas nedan:

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

Exempelmappning

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

Omformade data

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

Nästa steg

Genom att läsa det här dokumentet bör du nu förstå hur mappningsuppsättningar är uppbyggda, inklusive hur du konfigurerar enskilda mappningar i en mappningsuppsättning. Mer information om andra dataförberedelsefunktioner finns i översikten för dataförberedelser. Läs Utvecklarhandboken för dataprep om du vill lära dig hur du använder mappningsuppsättningar i API:t för dataprep.

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