

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Contoh pemetaan tipe objek di Amazon Connect Customer Profiles
<a name="examples-object-type-mappings"></a>

## Pemetaan tipe objek yang menghasilkan profil
<a name="profile-generating-example"></a>

Contoh berikut menunjukkan data yang mengisi profil standar.

Berikut ini adalah objek yang masuk:

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

Kode berikut menunjukkan bahwa pemetaan objek masuk ke objek profil standar dan pengindeksan`PersonalEmailAddress`,, dan `fullName``accountId`, yang merupakan kunci unik.

```
{
    "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"]
            }
        ]
    }
}
```

Perhatikan bahwa `email` dan `fullname` diindeks, tetapi mereka tidak digunakan untuk mencari profil. Akun adalah kunci unik. Diperlukan untuk menentukan objek. Setiap kali objek dengan ID akun yang sama dicerna, objek tersebut akan menimpa objek sebelumnya dengan ID akun yang sama.

Beberapa bidang diisi dalam objek profil standar (lihat bidang yang telah `Target` ditentukan).

## Pemetaan tipe objek yang tidak mengisi profil standar
<a name="ticket-issue-example"></a>

Contoh ini menunjukkan kasus penggunaan yang lebih rumit. Ini menelan data yang terkait dengan profil tetapi tidak selalu mengisi objek profil standar.

Berikut ini adalah objek yang masuk:

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

Berikut ini adalah salah satu cara pemetaan data ini:

```
{
    "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"]
            }
        ]
    }
}
```

Contoh ini menyerap data dan, pada pencarian pertama, ia menelan alamat email. 
+ Jika alamat email cocok dengan satu profil, itu digunakan untuk melampirkan data ke profil tertentu. Pengenal unik untuk tiket terdiri dari email dan stempel waktu karena tidak ada pengenal unik lainnya.
+ Jika tidak ada profil dengan email yang ditentukan, profil baru dibuat dengan satu bidang `EmailAddress` diisi. Objek yang tertelan dilampirkan ke profil baru yang **disimpulkan** ini. Dua kunci yang dapat dicari yang dapat menemukan profil adalah `_email` dan. `uniqueTicket`
+ Jika ada lebih dari satu profil dengan alamat email yang ditentukan, profil baru dibuat dengan satu bidang `EmailAddress` diisi dan objek dilampirkan ke profil baru ini. Profil ini dibuat dengan `ticketEmail` kunci yang ditentukan, selain `_email` dan`uniqueTicket`. Setiap tiket berikutnya dari email tersebut ditugaskan ke **profil baru yang disimpulkan** ini. Alasan untuk ini adalah bahwa ` _email` kuncinya mengacu pada tiga profil dan dengan demikian dibuang, namun `ticketEmail` kuncinya hanya mengacu pada satu profil (yang baru disimpulkan) dan masih valid.
+ Dalam kasus di mana **profil baru yang disimpulkan** dibuat, `EmailAddress` bidang diisi dari objek pertama yang membuatnya.