Syntaxe du jeu de mappages
Un jeu de mappages se compose d’un identifiant, d’un nom, d’un schéma d’entrée, d’un schéma de sortie et d’une liste des mappages associés.
Le fichier JSON suivant est un exemple de jeu de mappages type :
{
"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"
}
]
}
Propriété | Description |
---|---|
id | Identifiant unique du jeu de mappages. |
name | Nom du jeu de mappages. |
inputSchema | Schéma XDM pour les données entrantes. |
outputSchema | Le schéma XDM des données d’entrée sera transformé pour être conforme. |
mappings | Tableau de mappages champ à champ du schéma source au schéma de destination. |
sourceType |
Pour chaque mappage répertorié, son attribut
|
source | Pour chaque mappage répertorié, l’attribut source indique le champ que vous souhaitez mapper. Vous trouverez plus d’informations sur la configuration de votre source dans la présentation des sources. |
destination | Pour chaque mappage répertorié, l’attribut destination indique le champ, ou le chemin d’accès au champ, où sera placée la valeur extraite du champ source . Vous trouverez plus d’informations sur la configuration de vos destinations dans la présentation des destinations. |
mappings.name | (Facultatif) Nom du mappage. |
mappings.description | (Facultatif) Description du mappage. |
Configuration des sources de mappage
Dans un mappage, la valeur source
peut être un champ, une expression ou une valeur statique. En fonction du type de source donné, la valeur peut être extraite de différentes manières.
Champ dans les données en colonnes
Lors du mappage d’un champ dans les données en colonnes, comme un fichier CSV, utilisez le type de source ATTRIBUTE
. Si le champ contient .
dans son nom, utilisez \
pour ignorer la valeur. Voici un exemple de ce mappage :
Exemple de fichier CSV :
Full.Name, Email
John Smith, js@example.com
Exemple de mappage
{
"source": "Full.Name",
"destination": "pi.name",
"sourceType": "ATTRIBUTE"
}
Données transformées
{
"pi": {
"name": "John Smith"
}
}
Champ dans les données imbriquées
Lors du mappage d’un champ dans des données imbriquées, comme un fichier JSON, utilisez le type de source ATTRIBUTE
. Si le champ contient .
dans son nom, utilisez \
pour ignorer la valeur. Voici un exemple de ce mappage :
Exemple de fichier JSON
{
"customerInfo": {
"name": "John Smith",
"email": "js@example.com"
}
}
Exemple de mappage
{
"source": "customerInfo.name",
"destination": "pi.name",
"sourceType": "ATTRIBUTE"
}
Données transformées
{
"pi": {
"name": "John Smith"
}
}
Champ dans un tableau
Lors du mappage d’un champ dans un tableau, vous pouvez récupérer une valeur spécifique à l’aide d’un index. Pour ce faire, utilisez le type de source ATTRIBUTE
et l’index de la valeur que vous souhaitez mapper. Voici un exemple de ce mappage :
Exemple de fichier JSON
{
"customerInfo": {
"emails": [
{
"name": "John Smith",
"email": "js@example.com"
},
{
"name": "Jane Smith",
"email": "jane@example.com"
}
]
}
}
Exemple de mappage
{
"source": "customerInfo.emails[0].email",
"destination": "pi.email",
"sourceType": "ATTRIBUTE"
}
Données transformées
{
"pi": {
"email": "js@example.com"
}
}
Tableau à tableau ou objet à objet
En utilisant le type de source ATTRIBUTE
, vous pouvez également mapper directement un tableau à un tableau ou un objet à un objet. Voici un exemple de ce mappage :
Exemple de fichier JSON
{
"customerInfo": {
"emails": [
{
"name": "John Smith",
"email": "js@example.com"
},
{
"name": "Jane Smith",
"email": "jane@example.com"
}
]
}
}
Exemple de mappage
{
"source": "customerInfo.emails",
"destination": "pi.emailList",
"sourceType": "ATTRIBUTE"
}
Données transformées
{
"pi": {
"emailList": [
{
"name": "John Smith",
"email": "js@example.com"
},
{
"name": "Jane Smith",
"email": "jane@example.com"
}
]
}
}
Opérations itératives sur les tableaux
En utilisant le type de source ATTRIBUTE
, vous pouvez lire en boucle itérative les tableaux et les mapper à un schéma cible à l’aide d’un index de caractères génériques ([*]
). Voici un exemple de ce mappage :
Exemple de fichier JSON
{
"customerInfo": {
"emails": [
{
"name": "John Smith",
"email": "js@example.com"
},
{
"name": "Jane Smith",
"email": "jane@example.com"
}
]
}
}
Exemple de mappage
{
"source": "customerInfo.emails[*].name",
"destination": "pi[*].names",
"sourceType": "ATTRIBUTE"
}
Données transformées
{
"pi": [
{
"names": {
"name": "John Smith"
}
},
{
"names": {
"name": "Jane Smith"
}
}
]
}
Valeur constante
Si vous souhaitez mapper une valeur constante ou une valeur statique, utilisez le type de source STATIC
. Lors de l’utilisation du type de source STATIC
, la valeur source
représente la valeur codée en dur que vous souhaitez affecter à destination
. Voici un exemple de ce mappage :
Exemple de fichier JSON
{
"name": "John Smith",
"email": "js@example.com"
}
Exemple de mappage
{
"source": "CUSTOMER",
"destination": "userType",
"sourceType": "STATIC"
}
Données transformées
{
"userType:": "CUSTOMER"
}
Expressions
Si vous souhaitez mapper une expression, utilisez le type de source EXPRESSION
. Vous trouverez une liste des fonctions acceptées dans le guide des fonctions de mappage. Lors de l’utilisation du type de source EXPRESSION
, source
représente la fonction que vous souhaitez résoudre. Voici un exemple de ce mappage :
Exemple de fichier JSON
{
"firstName": "John",
"lastName": "Smith",
"email": "js@example.com"
}
Exemple de mappage
{
"source": "concat(upper(lastName), upper(firstName), now())",
"destination": "pi.created",
"sourceType": "EXPRESSION"
}
Données transformées
{
"pi": {
"created": "SMITHJOHNFri Sep 25 15:17:31 PDT 2020"
}
}
Configuration des destinations de mappage
Dans un mappage, destination
est l’emplacement où la valeur extraite de source
sera insérée.
Champ au niveau racine
Lorsque vous souhaitez mapper la valeur source
au niveau racine de vos données transformées, suivez l’exemple ci-dessous :
Exemple de fichier JSON
{
"customerInfo": {
"name": "John Smith",
"email": "js@example.com"
}
}
Exemple de mappage
{
"source": "customerInfo.name",
"destination": "name",
"sourceType": "ATTRIBUTE"
}
Données transformées
{
"name": "John Smith"
}