Ö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"
}
]
}
id
name
inputSchema
outputSchema
mappings
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
source
vilket fält du vill mappa. Mer information om hur du konfigurerar källan finns i Källöversikten.destination
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
mappings.description
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.