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.
Den här översikten kräver en fungerande förståelse av följande komponenter i Adobe Experience Platform:
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 används sourceType -attribut anger vilken typ av källa som ska mappas. Kan vara en av ATTRIBUTE , STATIC , eller EXPRESSION :
|
source |
För varje mappning i listan visas source -attribut anger det fält som du vill mappa. Mer information om hur du konfigurerar källan finns i källsektion. |
destination |
För varje mappning i listan visas destination -attributet anger fältet eller sökvägen till fältet, där värdet som extraheras från source fältet placeras. Mer information om hur du konfigurerar dina mål finns i målavsnitt. |
mappings.name |
(Valfritt) Ett namn för mappningen. |
mappings.description |
(Valfritt) En beskrivning av mappningen. |
I en mappning visas source
kan vara ett fält, uttryck eller ett statiskt värde. Baserat på den angivna källtypen kan värdet extraheras på olika sätt.
När du mappar ett fält i kolumndata, t.ex. en CSV-fil, använder du ATTRIBUTE
källtyp. Om fältet innehåller .
inom sitt namn, använd \
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"
}
}
När du mappar ett fält i kapslade data, till exempel en JSON-fil, ska du använda ATTRIBUTE
källtyp. Om fältet innehåller .
inom sitt namn, använd \
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"
}
}
När du mappar ett fält inom en array kan du hämta ett specifikt värde med hjälp av ett index. Om du vill göra det använder du ATTRIBUTE
källtyp och index 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"
}
}
Använda ATTRIBUTE
källtyp kan du också 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"
}
]
}
}
Använda ATTRIBUTE
källtyp 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"
}
}
]
}
Om du vill mappa en konstant, eller ett statiskt värde, använder du STATIC
källtyp. När du använder STATIC
källtyp, source
representerar 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"
}
Om du vill mappa ett uttryck använder du EXPRESSION
källtyp. En lista över godkända funktioner finns i guide för mappningsfunktioner. När du använder EXPRESSION
källtyp, source
representerar den funktion 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"
}
}
I en mappning visas destination
är platsen där värdet extraheras från source
infogas.
När du vill mappa source
till rotnivån för dina omformade data, följ 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"
}
När du vill mappa source
till ett kapslat fält i dina omformade data, följ 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"
}
}
När du vill mappa source
värde till ett specifikt index i en array i dina omformade data, följ 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"]
}
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"
}
}
]
}
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 Översikt över datapreflight. Läs mer om hur du använder mappningsuppsättningar i API:t för dataförberedelser i Utvecklarhandbok för dataprep.