Exemples de mappages de types d'objets - Amazon Connect

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemples de mappages de types d'objets

Un mappage de type d'objet qui génère un profil

L'exemple suivant montre les données qui renseignent le profil standard.

Voici l'objet entrant :

{ "account": 1234, "email": "john@examplecorp.com", "address": { "address1": "Street", "zip": "Zip", "city": "City" }, "firstName": "John", "lastName": "Doe" }

Le code suivant montre que l'objet entrant est mappé dans un objet de profil standard et indexé PersonalEmailAddress, fullName et accountId, qui est une clé unique.

{ "Fields": { "accountId": { "Source": "_source.account", "Target": "_profile.AccountNumber", "ContentType": "NUMBER" }, "shippingAddress.address1": { "Source": "_source.address.address1", "Target": "_profile.ShippingAddress.Address1" }, "shippingAddress.postalCode": { "Source": "_source.address.zip", "Target": "_profile.ShippingAddress.PostalCode" }, "shippingAddress.city": { "Source": "_source.address.city", "Target": "_profile.ShippingAddress.City" }, "personalEmailAddress": { "Source": "_source.email", "Target": "_profile.PersonalEmailAddress", "ContentType": "EMAIL_ADDRESS" }, "fullName": { "Source": "{{_source.firstName}} {{_source.lastName}}" }, "firstName": { "Source": "_source.firstName", "Target": "_profile.FirstName" }, "lastName": { "Source": "_source.lastName", "Target": "_profile.LastName" } }, "Keys": { "_email": [ { "FieldNames": ["personalEmailAddress"] } ], "_fullName": [ { "FieldNames": ["fullName"] } ], "_account": [ { "StandardIdentifiers": ["PROFILE","UNIQUE"], "FieldNames": ["accountId"] } ] } }

Notez que email et fullname sont indexés, mais ils ne sont pas utilisés pour rechercher le profil. Le compte est la clé unique. Il est nécessaire de spécifier l'objet. Chaque fois qu'un objet avec le même ID de compte est ingéré, il remplace l'objet précédent avec le même ID de compte.

Plusieurs champs sont renseignés dans l'objet de profil standard (consultez les champs avec une Target définie).

Un mappage de type d'objet qui ne renseigne pas le profil standard

Cet exemple montre un cas d'utilisation plus complexe. Il ingère les données relatives à un profil mais ne renseigne pas nécessairement l'objet de profil standard.

Voici l'objet entrant :

{ "email": "john@examplecorp.com", "timestamp": "2010-01-01T12:34:56Z", "subject": "Whatever this is about", "body": "Body of ticket" }

Voici un moyen de mapper ces données :

{ "Fields": { "email": { "Source": "_source.email", "ContentType": "EMAIL_ADDRESS" }, "timestamp": { "Source": "_source.timestamp" } }, "Keys": { "_email": [ { "StandardIdentifiers": ["PROFILE","LOOKUP_ONLY"], "FieldNames": ["email"] } ], "ticketEmail": [ { "StandardIdentifiers": ["PROFILE","SECONDARY","NEW_ONLY"], "FieldNames": ["email"] } ], "uniqueTicket": [ { "StandardIdentifiers": ["UNIQUE"], "FieldNames": ["email","timestamp"] } ] } }

Cet exemple ingère les données et, lors de la première recherche, il ingère l'adresse e-mail.

  • Si l'adresse e-mail correspond à un seul profil, elle est utilisée pour joindre les données à ce profil spécifique. L'identifiant unique du ticket est composé de l'adresse e-mail et de l'horodatage puisqu'il n'existe aucun autre identifiant unique.

  • Si aucun profil n'existe avec l'adresse e-mail spécifiée, un nouveau profil est créé avec le seul champ EmailAddress renseigné. L'objet ingéré est attaché à ce nouveau profil déduit. Les deux clés consultables permettant de trouver le profil sont _email et uniqueTicket.

  • Si plusieurs profils existent avec l'adresse e-mail spécifiée, un nouveau profil est créé avec le seul champ EmailAddress renseigné et l'objet est attaché à ce nouveau profil. Ce profil est créé avec la clé ticketEmail définie, en plus de _email et uniqueTicket. Tous les tickets suivants provenant de cette adresse e-mail sont affectés à ce nouveau profil déduit. La raison en est que la clé _email fait référence à trois profils et est donc supprimée, mais la clé ticketEmail ne fait référence qu'à un seul profil (le nouveau profil déduit) et est toujours valide.

  • Dans les cas où un nouveau profil déduit est créé, le champ EmailAddress est renseigné à partir du premier objet qui l'a créé.