PutSlotType - Amazon Lex V1

如果您使用的是 Amazon Lex V2,請參閱 Amazon Lex V2 指南

 

如果您使用的是 Amazon Lex V1,我們建議您將機器人升級到 Amazon Lex V2。我們不再向 V1 添加新功能,強烈建議所有新的機器人使用 V2。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

PutSlotType

建立自訂插槽類型或取代現有的自訂插槽類型。

若要建立自訂槽類型,請指定插槽類型的名稱和一組列舉值,這些值是此類型槽可承擔的值。如需詳細資訊,請參閱 Amazon Lex 運作方式

如果您指定現有插槽類型的名稱,請求中的欄位會取代插槽類型$LATEST版本中的現有值。Amazon Lex 會移除您在請求中未提供的欄位。如果您未指定必填欄位,Amazon Lex 就會擲回例外狀況。當您更新插槽類型的$LATEST版本時,如果機器人使用包含插槽類型的意圖$LATEST版本,則機器人的status欄位會設定為NOT_BUILT

這項操作需要 lex:PutSlotType 動作的許可。

請求語法

PUT /slottypes/name/versions/$LATEST HTTP/1.1 Content-type: application/json { "checksum": "string", "createVersion": boolean, "description": "string", "enumerationValues": [ { "synonyms": [ "string" ], "value": "string" } ], "parentSlotTypeSignature": "string", "slotTypeConfigurations": [ { "regexConfiguration": { "pattern": "string" } } ], "valueSelectionStrategy": "string" }

URI 請求參數

請求會使用下列 URI 參數。

name

位置類型的名稱。名稱區分大小寫。

該名稱不能匹配內置插槽類型名稱,或帶有「AMAZON」的內置插槽類型名稱。刪除。例如,由於有一個名為的內置插槽類型AMAZON.DATE,因此您無法創建名為的自定義插槽類型DATE

如需內建插槽類型的清單,請參閱 Alexa 技能套件中的插槽類型參考

長度限制:長度下限為 1。長度上限為 100。

模式:^([A-Za-z]_?)+$

必要:是

請求主體

請求接受採用 JSON 格式的下列資料。

checksum

識別版本的特定修訂$LATEST版本。

當您建立新插槽類型時,請將checksum欄位保留空白。如果你指定一個校驗和,你會得到一個BadRequestException異常。

當您要更新插槽類型時,請將checksum欄位設定為該版本最新修訂$LATEST版的總和檢查碼。如果您未指定 checksum欄位,或者總和檢查碼與$LATEST版本不相符,則會出現PreconditionFailedException例外狀況。

類型:字串

必要:否

createVersion

當設置true為插槽類型的新編號版本被創建。這與呼叫作CreateSlotTypeVersion業相同。如果未指定createVersion,預設值為false

類型:布林值

必要:否

description

位置類型的描述。

類型:字串

長度限制:長度下限為 0。長度上限為 200。

必要:否

enumerationValues

定義插槽類型可採用的值的EnumerationValue物件清單。每個值都可以有一份清單synonyms,這些清單是額外的值,可協助訓練機器學習模型,瞭解它為槽所解析的值。

正則表達式插槽類型不需要枚舉值。所有其他插槽類型都需要列舉值清單。

Amazon Lex 解析插槽值時,會產生一份解析清單,其中包含插槽最多五個可能值。如果您使用的是 Lambda 函數,則會將此解析清單傳遞給函數。如果您不使用 Lambda 函數,您可以選擇將使用者輸入的值或解析度清單中的第一個值傳回為插槽值。此valueSelectionStrategy欄位指示要使用的選項。

類型:EnumerationValue 物件陣列

陣列成員:項目數下限為 0。最多可包含 1 萬個項目。

必要:否

parentSlotTypeSignature

用作插槽類型的父插槽類型的內建插槽類型。當您定義父插槽類型時,新的插槽類型與父插槽類型具有所有相同的模型組態。

僅支援 AMAZON.AlphaNumeric

類型:字串

長度限制:長度下限為 1。長度上限為 100。

模式:^((AMAZON\.)_?|[A-Za-z]_?)+

必要:否

slotTypeConfigurations

擴充上層內建插槽類型的組態資訊。模型組態會新增至父插槽類型的設定中。

類型:SlotTypeConfiguration 物件陣列

陣列成員:項目數下限為 0。項目數上限為 10。

必要:否

valueSelectionStrategy

決定 Amazon Lex 用來傳回插槽類型值的插槽解析策略。該欄位可以設定為下列其中一個值:

  • ORIGINAL_VALUE-如果使用者值與槽值類似,則傳回使用者輸入的值。

  • TOP_RESOLUTION-如果有插槽的解析度清單,請傳回解析度清單中的第一個值作為插槽類型值。如果沒有解析清單,則傳回 null。

如果未指定valueSelectionStrategy,預設值為ORIGINAL_VALUE

類型:字串

有效值:ORIGINAL_VALUE | TOP_RESOLUTION

必要:否

回應語法

HTTP/1.1 200 Content-type: application/json { "checksum": "string", "createdDate": number, "createVersion": boolean, "description": "string", "enumerationValues": [ { "synonyms": [ "string" ], "value": "string" } ], "lastUpdatedDate": number, "name": "string", "parentSlotTypeSignature": "string", "slotTypeConfigurations": [ { "regexConfiguration": { "pattern": "string" } } ], "valueSelectionStrategy": "string", "version": "string" }

回應元素

如果動作成功,則服務傳回 HTTP 200 回應。

服務會傳回下列 JSON 格式的資料。

checksum

插槽類型$LATEST版本的總和檢查碼。

類型:字串

createdDate

插槽類型的建立日期。

類型:Timestamp

createVersion

True如果創建了插槽類型的新版本。如果未在請求中指定該字createVersion段,則該createVersion字段在響應中設置為 false。

類型:布林值

description

位置類型的描述。

類型:字串

長度限制:長度下限為 0。長度上限為 200。

enumerationValues

定義插槽類型可採用的值的EnumerationValue物件清單。

類型:EnumerationValue 物件陣列

陣列成員:項目數下限為 0。最多可包含 1 萬個項目。

lastUpdatedDate

更新插槽類型的日期。建立插槽類型時,建立日期與上次更新日期相同。

類型:Timestamp

name

位置類型的名稱。

類型:字串

長度限制:長度下限為 1。長度上限為 100。

模式:^([A-Za-z]_?)+$

parentSlotTypeSignature

用作插槽類型的父插槽類型的內建插槽類型。

類型:字串

長度限制:長度下限為 1。長度上限為 100。

模式:^((AMAZON\.)_?|[A-Za-z]_?)+

slotTypeConfigurations

擴充上層內建插槽類型的組態資訊。

類型:SlotTypeConfiguration 物件陣列

陣列成員:項目數下限為 0。項目數上限為 10。

valueSelectionStrategy

Amazon Lex 用來判斷插槽值的插槽解析策略。如需詳細資訊,請參閱 PutSlotType

類型:字串

有效值:ORIGINAL_VALUE | TOP_RESOLUTION

version

插槽類型的版本。對於新插槽類型,版本始終是$LATEST

類型:字串

長度限制:長度下限為 1。長度上限為 64。

模式:\$LATEST|[0-9]+

錯誤

BadRequestException

請求的格式不正確。例如,值無效或缺少必填欄位。請檢查欄位值,然後再試一次。

HTTP 狀態碼:400

ConflictException

處理要求時發生衝突。請再次嘗試您的請求。

HTTP 狀態碼:409

InternalFailureException

發生內部 Amazon Lex 錯誤。請再次嘗試您的請求。

HTTP 狀態碼:500

LimitExceededException

請求超過限制。請再次嘗試您的請求。

HTTP 狀態碼:429

PreconditionFailedException

您嘗試變更之資源的總和檢查碼與要求中的總和檢查碼不符。檢查資源的總和檢查碼,然後再試一次。

HTTP 狀態碼:412

另請參閱

如需在其中一個特定語言 AWS SDK 中使用此 API 的詳細資訊,請參閱下列內容: