

支援終止通知：2025 年 9 月 15 日， AWS 將停止對 Amazon Lex V1 的支援。2025 年 9 月 15 日之後，您將無法再存取 Amazon Lex V1 主控台或 Amazon Lex V1 資源。如果您使用的是 Amazon Lex V2，請改參閱 [Amazon Lex V2 指南](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html)。

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

# PutSlotType
<a name="API_PutSlotType"></a>

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

若要建立自訂插槽類型，請指定插槽類型的名稱和一組列舉值，這是此類型插槽可擔任的值。如需詳細資訊，請參閱[Amazon Lex：運作方式](how-it-works.md)。

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

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

## 請求語法
<a name="API_PutSlotType_RequestSyntax"></a>

```
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 請求參數
<a name="API_PutSlotType_RequestParameters"></a>

請求會使用下列 URI 參數。

 ** [name](#API_PutSlotType_RequestSyntax) **   <a name="lex-PutSlotType-request-uri-name"></a>
位置類型的名稱。名稱*不*區分大小寫。  
名稱不符合內建槽類型名稱，或內建槽類型名稱與 "AMAZON"。已移除。例如，由於有名為 的內建插槽類型`AMAZON.DATE`，因此您無法建立名為 的自訂插槽類型`DATE`。  
如需內建插槽類型的清單，請參閱 *Alexa Skills Kit* 中的[插槽類型參考](https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/slot-type-reference)。  
長度限制：長度下限為 1。長度上限為 100。  
模式：`^([A-Za-z]_?)+$`  
必要：是

## 請求主體
<a name="API_PutSlotType_RequestBody"></a>

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

 ** [checksum](#API_PutSlotType_RequestSyntax) **   <a name="lex-PutSlotType-request-checksum"></a>
識別 `$LATEST`版本的特定修訂。  
當您建立新的插槽類型時，請將`checksum`欄位保留空白。如果您指定檢查總和，您會收到`BadRequestException`例外狀況。  
當您想要更新插槽類型時，請將 `checksum` 欄位設定為最新版本的檢查總和`$LATEST`。如果您未指定 ` checksum` 欄位，或檢查總和與`$LATEST`版本不相符，您會收到`PreconditionFailedException`例外狀況。  
類型：字串  
必要：否

 ** [createVersion](#API_PutSlotType_RequestSyntax) **   <a name="lex-PutSlotType-request-createVersion"></a>
當設定為`true`新編號版本的槽類型時，即會建立。這與呼叫 `CreateSlotTypeVersion`操作相同。如果您未指定 `createVersion`，則預設值為 `false`。  
類型：布林值  
必要：否

 ** [description](#API_PutSlotType_RequestSyntax) **   <a name="lex-PutSlotType-request-description"></a>
位置類型的描述。  
類型：字串  
長度限制：長度下限為 0。長度上限為 200。  
必要：否

 ** [enumerationValues](#API_PutSlotType_RequestSyntax) **   <a name="lex-PutSlotType-request-enumerationValues"></a>
定義槽類型可採用之值的`EnumerationValue`物件清單。每個值都可以有一個 清單`synonyms`，這些是額外的值，可協助訓練機器學習模型有關其針對插槽解析的值。  
規則表達式槽類型不需要列舉值。所有其他槽類型都需要列舉值的清單。  
當 Amazon Lex 解析槽值時，會產生解析度清單，其中包含最多五個可能的槽值。如果您使用的是 Lambda 函數，此解析清單會傳遞給函數。如果您不是使用 Lambda 函數，您可以選擇傳回使用者輸入的值或解析清單中的第一個值作為槽值。`valueSelectionStrategy` 欄位指出要使用的選項。  
類型：[EnumerationValue](API_EnumerationValue.md) 物件陣列  
陣列成員：項目數下限為 0。10000 個項目的數量上限。  
必要：否

 ** [parentSlotTypeSignature](#API_PutSlotType_RequestSyntax) **   <a name="lex-PutSlotType-request-parentSlotTypeSignature"></a>
做為插槽類型父項的內建插槽類型。當您定義父插槽類型時，新的插槽類型與父插槽類型具有所有相同的組態。  
僅支援 `AMAZON.AlphaNumeric`。  
類型：字串  
長度限制：長度下限為 1。長度上限為 100。  
模式：`^((AMAZON\.)_?|[A-Za-z]_?)+`  
必要：否

 ** [slotTypeConfigurations](#API_PutSlotType_RequestSyntax) **   <a name="lex-PutSlotType-request-slotTypeConfigurations"></a>
延伸父內建插槽類型的組態資訊。組態會新增至父槽類型的設定。  
類型：[SlotTypeConfiguration](API_SlotTypeConfiguration.md) 物件陣列  
陣列成員：項目數下限為 0。項目數上限為 10。  
必要：否

 ** [valueSelectionStrategy](#API_PutSlotType_RequestSyntax) **   <a name="lex-PutSlotType-request-valueSelectionStrategy"></a>
決定 Amazon Lex 用來傳回槽類型值的槽解析策略。該欄位可以設定為下列其中一個值：  
+  `ORIGINAL_VALUE` - 如果使用者值與槽值類似，則傳回使用者輸入的值。
+  `TOP_RESOLUTION` - 如果插槽有解析度清單，請傳回解析度清單中的第一個值做為插槽類型值。如果沒有解析清單，則傳回 null。
如果您未指定 `valueSelectionStrategy`，則預設為 `ORIGINAL_VALUE`。  
類型：字串  
有效值:`ORIGINAL_VALUE | TOP_RESOLUTION`   
必要：否

## 回應語法
<a name="API_PutSlotType_ResponseSyntax"></a>

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

## 回應元素
<a name="API_PutSlotType_ResponseElements"></a>

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

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

 ** [checksum](#API_PutSlotType_ResponseSyntax) **   <a name="lex-PutSlotType-response-checksum"></a>
槽類型的`$LATEST`版本總和檢查碼。  
類型：字串

 ** [createdDate](#API_PutSlotType_ResponseSyntax) **   <a name="lex-PutSlotType-response-createdDate"></a>
槽類型的建立日期。  
類型：Timestamp

 ** [createVersion](#API_PutSlotType_ResponseSyntax) **   <a name="lex-PutSlotType-response-createVersion"></a>
 `True` 如果已建立新版本的槽類型。如果請求中未指定 `createVersion` 欄位，則回應中的 `createVersion` 欄位會設為 false。  
類型：布林值

 ** [description](#API_PutSlotType_ResponseSyntax) **   <a name="lex-PutSlotType-response-description"></a>
位置類型的描述。  
類型：字串  
長度限制：長度下限為 0。長度上限為 200。

 ** [enumerationValues](#API_PutSlotType_ResponseSyntax) **   <a name="lex-PutSlotType-response-enumerationValues"></a>
定義槽類型可採用之值的`EnumerationValue`物件清單。  
類型：[EnumerationValue](API_EnumerationValue.md) 物件陣列  
陣列成員：項目數下限為 0。10000 個項目的數量上限。

 ** [lastUpdatedDate](#API_PutSlotType_ResponseSyntax) **   <a name="lex-PutSlotType-response-lastUpdatedDate"></a>
槽類型更新的日期。當您建立槽類型時，建立日期和上次更新日期相同。  
類型：Timestamp

 ** [name](#API_PutSlotType_ResponseSyntax) **   <a name="lex-PutSlotType-response-name"></a>
位置類型的名稱。  
類型：字串  
長度限制：長度下限為 1。長度上限為 100。  
模式：`^([A-Za-z]_?)+$`

 ** [parentSlotTypeSignature](#API_PutSlotType_ResponseSyntax) **   <a name="lex-PutSlotType-response-parentSlotTypeSignature"></a>
做為插槽類型父項的內建插槽類型。  
類型：字串  
長度限制：長度下限為 1。長度上限為 100。  
模式：`^((AMAZON\.)_?|[A-Za-z]_?)+`

 ** [slotTypeConfigurations](#API_PutSlotType_ResponseSyntax) **   <a name="lex-PutSlotType-response-slotTypeConfigurations"></a>
延伸父內建插槽類型的組態資訊。  
類型：[SlotTypeConfiguration](API_SlotTypeConfiguration.md) 物件陣列  
陣列成員：項目數下限為 0。項目數上限為 10。

 ** [valueSelectionStrategy](#API_PutSlotType_ResponseSyntax) **   <a name="lex-PutSlotType-response-valueSelectionStrategy"></a>
Amazon Lex 用來判斷槽值的槽解析策略。如需詳細資訊，請參閱[PutSlotType](#API_PutSlotType)。  
類型：字串  
有效值:`ORIGINAL_VALUE | TOP_RESOLUTION` 

 ** [version](#API_PutSlotType_ResponseSyntax) **   <a name="lex-PutSlotType-response-version"></a>
槽類型的版本。對於新的插槽類型，版本一律為 `$LATEST`。  
類型：字串  
長度限制：長度下限為 1。長度上限為 64。  
模式：`\$LATEST|[0-9]+`

## 錯誤
<a name="API_PutSlotType_Errors"></a>

 ** BadRequestException **   
請求格式不正確。例如，值無效或缺少必要欄位。請檢查欄位值，然後再試一次。  
HTTP 狀態碼：400

 ** ConflictException **   
 處理請求時發生衝突。請再次嘗試您的請求。  
HTTP 狀態碼：409

 ** InternalFailureException **   
發生內部 Amazon Lex 錯誤。請再次嘗試您的請求。  
HTTP 狀態碼：500

 ** LimitExceededException **   
請求超過限制。請再次嘗試您的請求。  
HTTP 狀態碼：429

 ** PreconditionFailedException **   
 您嘗試變更的資源檢查總和與請求中的檢查總和不相符。請檢查資源的檢查總和，然後再試一次。  
HTTP 狀態碼：412

## 另請參閱
<a name="API_PutSlotType_SeeAlso"></a>

如需在其中一種語言特定 AWS SDKs中使用此 API 的詳細資訊，請參閱下列內容：
+  [AWS 命令列界面 V2](https://docs.aws.amazon.com/goto/cli2/lex-models-2017-04-19/PutSlotType) 
+  [AWS 適用於 .NET V4 的 SDK](https://docs.aws.amazon.com/goto/DotNetSDKV4/lex-models-2017-04-19/PutSlotType) 
+  [AWS 適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/goto/SdkForCpp/lex-models-2017-04-19/PutSlotType) 
+  [AWS 適用於 Go 的 SDK v2](https://docs.aws.amazon.com/goto/SdkForGoV2/lex-models-2017-04-19/PutSlotType) 
+  [AWS 適用於 Java V2 的 SDK](https://docs.aws.amazon.com/goto/SdkForJavaV2/lex-models-2017-04-19/PutSlotType) 
+  [AWS 適用於 JavaScript V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/lex-models-2017-04-19/PutSlotType) 
+  [AWS 適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/goto/SdkForKotlin/lex-models-2017-04-19/PutSlotType) 
+  [AWS 適用於 PHP V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForPHPV3/lex-models-2017-04-19/PutSlotType) 
+  [AWS 適用於 Python 的 SDK](https://docs.aws.amazon.com/goto/boto3/lex-models-2017-04-19/PutSlotType) 
+  [AWS 適用於 Ruby V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForRubyV3/lex-models-2017-04-19/PutSlotType) 