

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

# Struktur umum dalam AWS Lambda fungsi untuk Amazon Lex V2
<a name="lambda-common-structures"></a>

Dalam respons Lambda, ada sejumlah struktur yang berulang. Rincian tentang struktur umum ini disediakan di bagian ini.

## Niat
<a name="lambda-intent"></a>

```
"intent": {
    "confirmationState": "Confirmed | Denied | None",
    "name": string,
    "slots": {
        // see Slot for details about the structure
    },
    "state": "Failed | Fulfilled | FulfillmentInProgress | InProgress | ReadyForFulfillment | Waiting",
    "kendraResponse": {
        // Only present when intent is KendraSearchIntent. For details, see
// https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html#API_Query_ResponseSyntax       }
}
```

`intent`Bidang dipetakan ke objek dengan bidang berikut:

### ConfirmationState
<a name="lambda-intent-confirmationstate"></a>

Menunjukkan apakah pengguna telah mengonfirmasi slot untuk maksud tersebut dan maksud siap untuk dipenuhi. Nilai-nilai berikut dimungkinkan:

`Confirmed`— Pengguna mengonfirmasi bahwa nilai slot sudah benar.

`Denied`— Pengguna menunjukkan bahwa nilai slot salah.

`None`— Pengguna belum mencapai tahap konfirmasi.

### name
<a name="lambda-intent-name"></a>

Nama niat.

### slot
<a name="lambda-intent-slots"></a>

Informasi tentang slot yang diperlukan untuk memenuhi maksud. Lihat [Slot](#lambda-slot) untuk detail tentang struktur.

### status
<a name="lambda-intent-state"></a>

Menunjukkan status pemenuhan untuk maksud tersebut. Nilai-nilai berikut dimungkinkan:

`Failed`— Bot gagal memenuhi niat.

`Fulfilled`— Bot telah menyelesaikan pemenuhan niat.

`FulfillmentInProgress`— Bot berada di tengah memenuhi niat.

`InProgress`— Bot berada di tengah memunculkan nilai slot yang diperlukan untuk memenuhi maksud.

`ReadyForFulfillment`— Bot telah memunculkan semua nilai slot untuk maksud tersebut dan siap untuk memenuhi maksud tersebut.

`Waiting`— Bot sedang menunggu respons dari pengguna (terbatas pada percakapan streaming).

### kendraResponse
<a name="lambda-intent-kendraresponse"></a>

Berisi informasi tentang hasil permintaan pencarian Kendra. Bidang ini hanya muncul jika maksudnya adalah a`KendraSearchIntent`. Lihat [sintaks respons dalam panggilan Query API untuk Kendra untuk informasi](https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html#API_Query_ResponseSyntax) selengkapnya.

## Slot
<a name="lambda-slot"></a>

`slots`Bidang ada dalam `intent` struktur dan dipetakan ke struktur yang kuncinya adalah nama slot untuk maksud itu. Jika slot bukan slot multi-nilai (lihat [Menggunakan beberapa nilai dalam slot](multi-valued-slots.md) untuk lebih jelasnya), itu dipetakan ke struktur dengan format berikut. Perhatikan bahwa `shape` adalah`Scalar`.

```
{
    slot name: {
        "shape": "Scalar",
        "value": {
            "originalValue": string,
            "interpretedValue": string,
            "resolvedValues": [
                string,
                ...
            ]
        }
    }
}
```

Jika slot adalah slot multi-nilai, objek yang dipetakan berisi bidang lain yang disebut`values`, yang dipetakan ke daftar struktur, masing-masing berisi informasi tentang slot yang membentuk slot multi-nilai. Format setiap objek dalam daftar cocok dengan objek yang slot reguler dipetakan. Perhatikan bahwa `shape` adalah`List`, tetapi slot `shape` komponen di bawah `values` adalah`Scalar`.

```
{
    slot name: {
    "shape": "List",
    "value": {
        "originalValue": string,
        "interpretedValue": string,
        "resolvedValues": [
            string,
            ...
        ]
    },
    "values": [
        {
            "shape": "Scalar",
            "value": {
                "originalValue": string,
                "interpretedValue": string,
                "resolvedValues": [
                    string,
                    ...
                ]
            }
        },
        {
            "shape": "Scalar",
            "value": {
                "originalValue": string,
                "interpretedValue": string,
                "resolvedValues": [
                    string,
                    ...
                ]
            }
        },
        ...
    ]
}
```

Bidang dalam objek slot dijelaskan di bawah ini:

### bentuk
<a name="lambda-slots-shape"></a>

Bentuk slotnya. Nilai ini adalah `List` jika ada beberapa nilai dalam slot (lihat [Menggunakan beberapa nilai dalam slot](multi-valued-slots.md) untuk lebih jelasnya) dan `Scalar` sebaliknya.

### nilai
<a name="lambda-slots-value"></a>

Objek yang berisi informasi tentang nilai yang diberikan pengguna untuk slot dan interpretasi Amazon Lex V2, dalam format berikut:

```
{
    "originalValue": string,
    "interpretedValue": string,
    "resolvedValues": [
        string,
        ...
    ]
}
```

Bidang dijelaskan di bawah ini:
+ **OriginalValue** — Bagian dari respons pengguna terhadap elisitasi slot yang ditentukan Amazon Lex V2 relevan dengan nilai slot.
+ **InterpretedValue** — Nilai yang ditentukan Amazon Lex V2 untuk slot, mengingat input pengguna.
+ **ResolvedValues — Daftar nilai** yang ditentukan Amazon Lex V2 adalah kemungkinan resolusi untuk input pengguna.

### values
<a name="lambda-slots-values"></a>

Daftar objek yang berisi informasi tentang slot yang membentuk slot multi-nilai. Format setiap objek cocok dengan slot normal, dengan `shape` dan `value` bidang yang dijelaskan di atas. `values`hanya muncul jika slot terdiri dari beberapa nilai (lihat [Menggunakan beberapa nilai dalam slot](multi-valued-slots.md) untuk lebih jelasnya). Objek JSON berikut menunjukkan dua slot komponen:

```
"values": [
    {
        "shape": "Scalar",
        "value": {
            "originalValue": string,
            "interpretedValue": string,
            "resolvedValues": [
                string,
                ...
            ]
        }
    },
    {
        "shape": "Scalar",
        "value": {
            "originalValue": string,
            "interpretedValue": string,
            "resolvedValues": [
                string,
                ...
            ]
        }
    },
    ...
]
```

## Status sesi
<a name="lambda-session-state"></a>

`sessionState`Bidang dipetakan ke objek yang berisi informasi tentang keadaan percakapan dengan pengguna. Bidang aktual yang muncul di objek bergantung pada jenis tindakan dialog. Lihat [Bidang yang diperlukan dalam respons](lambda-response-format.md#lambda-response-required) kolom wajib dalam respons Lambda. Format `sessionState` objek adalah sebagai berikut:

```
"sessionState": {
    "activeContexts": [
        {
            "name": string,
            "contextAttributes": {
                string: string
            },
            "timeToLive": {
                "timeToLiveInSeconds": number,
                "turnsToLive": number
            }
        },
        ...
    ],
    "sessionAttributes": {
        string: string,
        ...
    },
    "runtimeHints": {
        "slotHints": {
            intent name: {
                slot name: {
                    "runtimeHintValues": [
                        {
                            "phrase": string
                        },
                        ...
                    ]
                },
                ...
            },
            ...
        }
    },
    "dialogAction": {
        "slotElicitationStyle": "Default | SpellByLetter | SpellByWord",
        "slotToElicit": string,
        "type": "Close | ConfirmIntent | Delegate | ElicitIntent | ElicitSlot"
    },
    "intent": {
        // see Niat for details about the structure
    },
    "originatingRequestId": string
}
```

Bidang dijelaskan di bawah ini:

### ActiveContext
<a name="lambda-active-contexts"></a>

Daftar objek yang berisi informasi tentang konteks yang digunakan pengguna dalam sesi. Gunakan konteks untuk memfasilitasi dan mengontrol pengenalan niat. Untuk informasi lebih lanjut tentang konteks, lihat. [Mengatur konteks maksud untuk bot Lex V2 Anda](context-mgmt-active-context.md) Setiap objek diformat sebagai berikut:

```
{
    "name": string,
    "contextAttributes": {
        string: string
    },
    "timeToLive": {
        "timeToLiveInSeconds": number,
        "turnsToLive": number
    }
}
```

Bidang dijelaskan di bawah ini:
+ **nama** — Nama konteksnya.
+ **ContextAttributes** — Objek yang berisi nama-nama atribut untuk konteks dan nilai-nilai yang dipetakan.
+ **timeToLive**Objek yang menentukan berapa lama konteksnya tetap aktif. Objek ini dapat berisi salah satu atau kedua bidang berikut:
  + **timeToLiveInSeconds**— Jumlah detik yang konteksnya tetap aktif.
  + **turnsToLive**— Jumlah putaran yang konteksnya tetap aktif.

### sessionAttributes
<a name="lambda-session-attributes"></a>

Peta key/value pasangan yang mewakili informasi konteks khusus sesi. Untuk informasi selengkapnya, lihat [Mengatur atribut sesi untuk bot Lex V2 Anda](context-mgmt-session-attribs.md). Objek diformat sebagai berikut:

```
{
    string: string,
    ...
}
```

### RuntimeHints
<a name="lambda-runtime-hints"></a>

Memberikan petunjuk untuk frasa yang akan digunakan pelanggan untuk slot untuk meningkatkan pengenalan audio. Nilai-nilai yang Anda berikan dalam petunjuk meningkatkan pengenalan audio dari nilai-nilai tersebut di atas kata-kata yang terdengar serupa. Format `runtimeHints` objek adalah sebagai berikut:

```
{
    "slotHints": {
        intent name: {
            slot name: {
                "runtimeHintValues": [
                    {
                        "phrase": string
                    },
                    ...
                ]
            },
            ...
        },
        ...
    }
}
```

`slotHints`Bidang memetakan ke objek yang bidangnya adalah nama maksud di bot. Setiap nama maksud memetakan ke objek yang bidangnya adalah nama slot untuk maksud itu. Setiap nama slot memetakan ke struktur dengan satu bidang`runtimeHintValues`, yang merupakan daftar objek. Setiap objek berisi `phrase` bidang yang memetakan ke petunjuk.

### dialogAction
<a name="lambda-dialog-action"></a>

Menentukan tindakan selanjutnya untuk Amazon Lex V2 untuk mengambil. Format objek adalah sebagai berikut:

```
{
    "slotElicitationStyle": "Default | SpellByLetter | SpellByWord",
    "slotToElicit": string,
    "type": "Close | ConfirmIntent | Delegate | ElicitIntent | ElicitSlot"
}
```

Bidang dijelaskan di bawah ini:
+  **slotElicitationStyle**— Menentukan bagaimana Amazon Lex V2 menafsirkan input audio dari pengguna jika `type` dari `dialogAction` adalah`ElicitSlot`. Untuk informasi selengkapnya, lihat [Menangkap nilai slot dengan gaya ejaan selama percakapan](spelling-styles.md). Nilai-nilai berikut dimungkinkan:

  `Default`— Amazon Lex V2 menafsirkan input audio secara default untuk memenuhi slot.

  `SpellByLetter`— Amazon Lex V2 mendengarkan ejaan pengguna dari nilai slot.

  `SpellByWord`— Amazon Lex V2 mendengarkan ejaan pengguna dari nilai slot menggunakan kata-kata yang terkait dengan setiap huruf (misalnya, “a as in apple”).
+  **slotToElicit**— Mendefinisikan slot yang akan diperoleh dari pengguna jika dari adalah`type`. `dialogAction` `ElicitSlot` 
+ **type** — Mendefinisikan tindakan yang harus dijalankan bot. Nilai-nilai berikut dimungkinkan:

  `Delegate`— Memungkinkan Amazon Lex V2 menentukan langkah selanjutnya.

  `ElicitIntent`— Meminta pelanggan untuk menyatakan niat.

  `ConfirmIntent`— Mengonfirmasi nilai slot pelanggan dan apakah niat siap untuk dipenuhi.

  `ElicitSlot`— Meminta pelanggan untuk memberikan nilai slot untuk suatu maksud.

  `Close`Mengakhiri proses pemenuhan niat.

### maksud
<a name="lambda-sessionstate-intent"></a>

Lihat [Niat](#lambda-intent) untuk struktur `intent` lapangan.

### originatingRequestId
<a name="lambda-originating-request-id"></a>

Pengidentifikasi unik untuk permintaan tersebut. Bidang ini opsional untuk respons Lambda.