本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon Lex 傳送訊息給使用者時對話的每個步驟中,您可以使用 Lambda 函數作為對話的下一個步驟。您可以使用 函數,根據對話的目前狀態實作商業邏輯。
執行的 Lambda 函數與您正在使用的機器人別名相關聯。若要在意圖中的所有對話程式碼掛鉤中叫用 Lambda 函數,您必須選取使用 Lambda 函數來初始化和驗證意圖。如需選擇 Lambda 函數的詳細資訊,請參閱為您的機器人建立 AWS Lambda 函數。
使用 Lambda 函數有兩個步驟。首先,您必須在對話中的任何時間點啟用對話程式碼掛鉤。其次,您必須設定對話中的下一個步驟,以使用對話方塊程式碼勾點。
下圖顯示已啟用的對話方塊程式碼掛鉤。

接著,將程式碼掛鉤設定為對話步驟的下一個動作。您可以透過設定對話中的下一個步驟來叫用對話方塊程式碼掛鉤來執行此操作。下圖顯示條件式分支,其中調用對話程式碼掛鉤是對話預設路徑的下一個步驟。

當程式碼掛鉤處於作用中狀態時,您可以設定三個回應以傳回給使用者:
-
成功 – 當 Lambda 函數成功完成時傳送。
-
失敗 – 如果執行 Lambda 函數時發生問題,或 Lambda 函數傳回
intent.state
的值,則傳送Failed
。 -
逾時 – 如果 Lambda 函數未在設定的逾時期間內完成,則傳送。

選擇 Lambda 對話方塊程式碼勾點,然後選擇進階選項,以查看對應至 Lambda 函數調用之回應的三個選項。您可以設定值、設定後續步驟,並套用對應至每個回應的條件,以設計對話流程。如果沒有條件或明確的後續步驟,Amazon Lex V2 會根據對話的目前狀態來決定下一個步驟。
在進階選項頁面上,您也可以選擇啟用或停用 Lambda 函數調用。啟用函數時,對話程式碼掛鉤會叫用 Lambda 調用,接著會根據 Lambda 調用結果顯示成功、失敗或逾時訊息。停用函數時,Amazon Lex V2 不會執行 Lambda 函數,並會繼續執行,就像對話程式碼掛鉤成功一樣。
您也可以設定呼叫標籤,當此訊息叫用 Lambda 函數時,該標籤會傳送至該函數。您可以使用此功能來協助識別要執行的 Lambda 函數區段。
注意
2022 年 8 月 17 日,Amazon Lex V2 發佈了與使用者管理對話方式的變更。此變更可讓您更妥善地控制使用者在對話中採取的路徑。如需詳細資訊,請參閱Amazon Lex V2 中對話流程的變更。在 2022 年 8 月 17 日之前建立的機器人不支援對話方塊程式碼掛接訊息、設定值、設定後續步驟和新增條件。