

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# UpdateComponentType
<a name="API_UpdateComponentType"></a>

更新组件类型中的信息。

## 请求语法
<a name="API_UpdateComponentType_RequestSyntax"></a>

```
PUT /workspaces/workspaceId/component-types/componentTypeId HTTP/1.1
Content-type: application/json

{
   "componentTypeName": "string",
   "compositeComponentTypes": { 
      "string" : { 
         "componentTypeId": "string"
      }
   },
   "description": "string",
   "extendsFrom": [ "string" ],
   "functions": { 
      "string" : { 
         "implementedBy": { 
            "isNative": boolean,
            "lambda": { 
               "arn": "string"
            }
         },
         "requiredProperties": [ "string" ],
         "scope": "string"
      }
   },
   "isSingleton": boolean,
   "propertyDefinitions": { 
      "string" : { 
         "configuration": { 
            "string" : "string" 
         },
         "dataType": { 
            "allowedValues": [ 
               { 
                  "booleanValue": boolean,
                  "doubleValue": number,
                  "expression": "string",
                  "integerValue": number,
                  "listValue": [ 
                     "DataValue"
                  ],
                  "longValue": number,
                  "mapValue": { 
                     "string" : "DataValue"
                  },
                  "relationshipValue": { 
                     "targetComponentName": "string",
                     "targetEntityId": "string"
                  },
                  "stringValue": "string"
               }
            ],
            "nestedType": "DataType",
            "relationship": { 
               "relationshipType": "string",
               "targetComponentTypeId": "string"
            },
            "type": "string",
            "unitOfMeasure": "string"
         },
         "defaultValue": { 
            "booleanValue": boolean,
            "doubleValue": number,
            "expression": "string",
            "integerValue": number,
            "listValue": [ 
               "DataValue"
            ],
            "longValue": number,
            "mapValue": { 
               "string" : "DataValue"
            },
            "relationshipValue": { 
               "targetComponentName": "string",
               "targetEntityId": "string"
            },
            "stringValue": "string"
         },
         "displayName": "string",
         "isExternalId": boolean,
         "isRequiredInEntity": boolean,
         "isStoredExternally": boolean,
         "isTimeSeries": boolean
      }
   },
   "propertyGroups": { 
      "string" : { 
         "groupType": "string",
         "propertyNames": [ "string" ]
      }
   }
}
```

## URI 请求参数
<a name="API_UpdateComponentType_RequestParameters"></a>

请求使用以下 URI 参数。

 ** [componentTypeId](#API_UpdateComponentType_RequestSyntax) **   <a name="tm-UpdateComponentType-request-uri-componentTypeId"></a>
组件类型的 ID。  
长度限制：最小长度为 1。最大长度为 256。  
模式：`[a-zA-Z_\.\-0-9:]+`  
是否必需：是

 ** [workspaceId](#API_UpdateComponentType_RequestSyntax) **   <a name="tm-UpdateComponentType-request-uri-workspaceId"></a>
工作区的 ID。  
长度限制：最小长度为 1。最大长度为 128。  
模式：`[a-zA-Z_0-9][a-zA-Z_\-0-9]*[a-zA-Z0-9]+`  
必需：是

## 请求体
<a name="API_UpdateComponentType_RequestBody"></a>

请求接受采用 JSON 格式的以下数据。

 ** [componentTypeName](#API_UpdateComponentType_RequestSyntax) **   <a name="tm-UpdateComponentType-request-componentTypeName"></a>
组件类型名称。  
类型：字符串  
长度限制：最小长度为 0。最大长度为 256。  
模式：`.*[^\u0000-\u001F\u007F]*.*`  
必需：否

 ** [compositeComponentTypes](#API_UpdateComponentType_RequestSyntax) **   <a name="tm-UpdateComponentType-request-compositeComponentTypes"></a>
这是一个将字符串映射到 `componentType` 的 `compositeComponentTypes` 的对象。`CompositeComponentType` 由 `componentTypeId` 引用。  
类型：字符串到 [CompositeComponentTypeRequest](API_CompositeComponentTypeRequest.md) 对象的映射  
密钥长度限制：最小长度为 1。最大长度为 256。  
密钥模式：`[a-zA-Z_\-0-9]+`  
必需：否

 ** [description](#API_UpdateComponentType_RequestSyntax) **   <a name="tm-UpdateComponentType-request-description"></a>
组件类型的描述。  
类型：字符串  
长度约束：最小长度为 0。最大长度为 2048。  
模式：`.*`  
必需：否

 ** [extendsFrom](#API_UpdateComponentType_RequestSyntax) **   <a name="tm-UpdateComponentType-request-extendsFrom"></a>
指定此组件类型扩展的组件类型。  
类型：字符串数组  
长度约束：最小长度为 1。最大长度为 256。  
模式：`[a-zA-Z_\.\-0-9:]+`  
必需：否

 ** [functions](#API_UpdateComponentType_RequestSyntax) **   <a name="tm-UpdateComponentType-request-functions"></a>
将字符串映射到组件类型中的函数的对象。映射中的每个字符串对于该对象都必须是唯一的。  
类型：字符串到 [FunctionRequest](API_FunctionRequest.md) 对象的映射  
密钥长度限制：最小长度为 1。最大长度为 256。  
密钥模式：`[a-zA-Z_\-0-9]+`  
必需：否

 ** [isSingleton](#API_UpdateComponentType_RequestSyntax) **   <a name="tm-UpdateComponentType-request-isSingleton"></a>
指定一个实体是否可以有多个此类型的组件的布尔值。  
类型：布尔值  
必需：否

 ** [propertyDefinitions](#API_UpdateComponentType_RequestSyntax) **   <a name="tm-UpdateComponentType-request-propertyDefinitions"></a>
将字符串映射到组件类型中的属性定义的对象。映射中的每个字符串对于该对象都必须是唯一的。  
类型：字符串到 [PropertyDefinitionRequest](API_PropertyDefinitionRequest.md) 对象的映射  
密钥长度限制：最小长度为 1。最大长度为 256。  
密钥模式：`[a-zA-Z_\-0-9]+`  
必需：否

 ** [propertyGroups](#API_UpdateComponentType_RequestSyntax) **   <a name="tm-UpdateComponentType-request-propertyGroups"></a>
属性组。  
类型：字符串到 [PropertyGroupRequest](API_PropertyGroupRequest.md) 对象的映射  
密钥长度限制：最小长度为 1。最大长度为 256。  
密钥模式：`[a-zA-Z_\-0-9]+`  
必需：否

## 响应语法
<a name="API_UpdateComponentType_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "arn": "string",
   "componentTypeId": "string",
   "state": "string",
   "workspaceId": "string"
}
```

## 响应元素
<a name="API_UpdateComponentType_ResponseElements"></a>

如果此操作成功，则该服务将会发送回 HTTP 200 响应。

服务以 JSON 格式返回以下数据。

 ** [arn](#API_UpdateComponentType_ResponseSyntax) **   <a name="tm-UpdateComponentType-response-arn"></a>
组件类型的 ARN。  
类型：字符串  
长度约束：最小长度为 20。最大长度为 2048。  
模式：`arn:((aws)|(aws-cn)|(aws-us-gov)):iottwinmaker:[a-z0-9-]+:[0-9]{12}:[\/a-zA-Z0-9_\-\.:]+`

 ** [componentTypeId](#API_UpdateComponentType_ResponseSyntax) **   <a name="tm-UpdateComponentType-response-componentTypeId"></a>
组件类型的 ID。  
类型：字符串  
长度限制：最小长度为 1。最大长度为 256。  
模式：`[a-zA-Z_\.\-0-9:]+`

 ** [state](#API_UpdateComponentType_ResponseSyntax) **   <a name="tm-UpdateComponentType-response-state"></a>
组件类型的当前状态。  
类型：字符串  
有效值：`CREATING | UPDATING | DELETING | ACTIVE | ERROR`

 ** [workspaceId](#API_UpdateComponentType_ResponseSyntax) **   <a name="tm-UpdateComponentType-response-workspaceId"></a>
包含组件类型的工作区 ID。  
类型：字符串  
长度限制：最小长度为 1。最大长度为 128。  
模式：`[a-zA-Z_0-9][a-zA-Z_\-0-9]*[a-zA-Z0-9]+`

## 错误
<a name="API_UpdateComponentType_Errors"></a>

有关所有操作的常见错误的信息，请参阅[常见错误](CommonErrors.md)。

 ** AccessDeniedException **   
访问被拒绝。  
HTTP 状态代码：403

 ** InternalServerException **   
出现意外错误。  
HTTP 状态代码：500

 ** ResourceNotFoundException **   
未找到资源。  
HTTP 状态代码：404

 ** ServiceQuotaExceededException **   
已超出服务限额。  
HTTP 状态代码：402

 ** ThrottlingException **   
速率超过限制。  
HTTP 状态代码：429

 ** ValidationException **   
失败  
HTTP 状态代码：400

## 另请参阅
<a name="API_UpdateComponentType_SeeAlso"></a>

有关以特定语言之一使用此 API 的更多信息 AWS SDKs，请参阅以下内容：
+  [AWS 命令行界面 V2](https://docs.aws.amazon.com/goto/cli2/iottwinmaker-2021-11-29/UpdateComponentType) 
+  [AWS 适用于.NET 的 SDK V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/iottwinmaker-2021-11-29/UpdateComponentType) 
+  [AWS 适用于 C\$1\$1 的 SDK](https://docs.aws.amazon.com/goto/SdkForCpp/iottwinmaker-2021-11-29/UpdateComponentType) 
+  [AWS 适用于 Go v2 的 SDK](https://docs.aws.amazon.com/goto/SdkForGoV2/iottwinmaker-2021-11-29/UpdateComponentType) 
+  [AWS 适用于 Java 的 SDK V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/iottwinmaker-2021-11-29/UpdateComponentType) 
+  [AWS JavaScript V3 版 SDK](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/iottwinmaker-2021-11-29/UpdateComponentType) 
+  [AWS 适用于 Kotlin 的 SDK](https://docs.aws.amazon.com/goto/SdkForKotlin/iottwinmaker-2021-11-29/UpdateComponentType) 
+  [AWS 适用于 PHP 的 SDK V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/iottwinmaker-2021-11-29/UpdateComponentType) 
+  [AWS Python 软件开发工具包](https://docs.aws.amazon.com/goto/boto3/iottwinmaker-2021-11-29/UpdateComponentType) 
+  [AWS 适用于 Ruby V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForRubyV3/iottwinmaker-2021-11-29/UpdateComponentType) 