As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Exemplos de mapeamentos de tipos de objetos nos perfis de clientes do Amazon Connect
Um mapeamento de tipo de objeto que gera um perfil
O exemplo a seguir mostra dados que preenchem o perfil padrão.
Este é o objeto de entrada:
{ "account": 1234, "email": "john@examplecorp.com", "address": { "address1": "Street", "zip": "Zip", "city": "City" }, "firstName": "John", "lastName": "Doe" }
O código a seguir mostra o mapeamento de objetos de entrada em um objeto de perfil padrão e a indexação PersonalEmailAddress
, fullName
e accountId
, que é uma chave exclusiva.
{ "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"] } ] } }
Observe que email
e fullname
estão indexados, mas não são usados para pesquisar o perfil. A conta é a chave exclusiva. É necessário especificar o objeto. Sempre que um objeto com o mesmo ID de conta é ingerido, ele substitui o objeto anterior pelo mesmo ID de conta.
Vários campos são preenchidos no objeto de perfil padrão (veja os campos que têm Target
definido).
Um mapeamento de tipo de objeto que não preenche o perfil padrão
Este exemplo mostra um caso de uso mais complicado. Ele ingere dados relacionados a um perfil, mas não necessariamente preenche o objeto de perfil padrão.
Este é o objeto de entrada:
{ "email": "john@examplecorp.com", "timestamp": "2010-01-01T12:34:56Z", "subject": "Whatever this is about", "body": "Body of ticket" }
Veja a seguir uma forma de mapear esses dados:
{ "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"] } ] } }
Esse exemplo ingere os dados e, na primeira consulta, ingere o endereço de e-mail.
-
Se o endereço de e-mail corresponder a um único perfil, ele será usado para anexar os dados a esse perfil específico. O identificador exclusivo do tíquete é composto pelo e-mail e pelo carimbo de data/hora, já que não existe outro identificador exclusivo.
-
Se não existir nenhum perfil com o e-mail especificado, um novo perfil será criado com o único campo
EmailAddress
preenchido. O objeto ingerido é anexado a esse novo perfil inferido. As duas teclas pesquisáveis que podem encontrar o perfil são_email
euniqueTicket
. -
Se mais de um perfil existir com o endereço de e-mail especificado, um novo perfil será criado com o único campo de
EmailAddress
preenchido e o objeto anexado a esse novo perfil. Esse perfil é criado com a chaveticketEmail
definida, além de_email
euniqueTicket
. Todos os tíquetes subsequentes desse e-mail são atribuídos a esse novo perfil inferido. A razão disso é que a chave_email
se refere a três perfis e, portanto, é descartada; no entanto, a chaveticketEmail
se refere apenas a um único perfil (o novo inferido) e ainda é válida. -
Nos casos em que um novo perfil inferido é criado, o
EmailAddress
campo é preenchido a partir do primeiro objeto que o criou.