

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

# 类型定义架构
<a name="schema-for-type-definitions"></a>

以下各节详细介绍了用于类型定义的架构。

## $id
<a name="definition-schema-id"></a>

$id 元素标识架构定义。它必须遵循以下结构：
+ 从 `/schema-versions/` URI 前缀开始
+ 包括`definition`架构类型
+ 使用正斜杠 (`/`) 作为 URI 路径分隔符
+ 包括架构标识，片段之间用句点分隔 (`.`)
+ 使用`@`字符分隔架构 ID 和版本
+ 以 semver 版本结尾，使用句点 (`.`) 分隔版本片段

架构标识必须以长度为 3-12 个字符的根命名空间开头，然后是可选的子命名空间和名称。

semver 版本包括主要版本（最多 3 位数）、次要版本（最多 3 位数）和可选的补丁版本（最多 4 位数）。

**注意**  
您不能使用保留的命名空间或 `aws` `matter`

**Example 示例 $id**  

```
/schema-version/capability/aws.Recording@1.0
```

## $ref
<a name="definition-schema-ref"></a>

$ref `` 元素引用系统中现有的类型定义。它遵循与`$id`元素相同的约束。

**注意**  
类型定义或功能必须与`$ref`文件中提供的值相同。

**Example 示例 $ref**  

```
/schema-version/definition/aws.capability@1.0
```

## name
<a name="definition-schema-name"></a>

名称元素是一个字符串，表示架构文档中的实体名称。它通常包含缩写，必须遵循以下规则：
+ 仅包含字母数字字符、句点 (.)、正斜杠 (/)、连字符 (-) 和空格
+ 以字母开头
+ 最多 192 个字符

名称元素用于亚马逊 Web Services 控制台用户界面和文档。

**Example 示例名称**  

```
Door Lock
On/Off
Wi-Fi Network Management
PM2.5 Concentration Measurement
RTCSessionController
Energy EVSE
```

## 删除实例快照
<a name="definition-schema-title"></a>

标题元素是架构文档所代表的实体的描述性字符串。它可以包含任何字符，可在文档中使用。

**Example 标题示例**  

```
Real-time Communication (RTC) Session Controller
Energy EVSE Capability
```

## 描述
<a name="definition-schema-description"></a>

该`description`元素详细解释了架构文档所代表的实体。它可以包含任何字符，可在文档中使用。

**Example 示例描述**  

```
Electric Vehicle Supply Equipment (EVSE) is equipment used to charge an Electric Vehicle (EV) or Plug-In Hybrid Electric Vehicle. 
            This capability provides an interface to the functionality of Electric Vehicle Supply Equipment (EVSE) management.
```

## extrinsicID
<a name="definition-schema-extrinsicid"></a>

该`extrinsicId`元素表示在 Amazon Web Services 物联网系统之外管理的标识符。对于 Matter 能力 `clusterId``attributeId`，`commandId`它会根据上下文映射到`fieldId`、、、或。`eventId`

`extrinsicId`可以是字符串化的十进制整数（1-10 位数），也可以是字符串化的十六进制整数（0x 或 0X 前缀，后面是 1-8 个十六进制数字）。

**注意**  
对于 AWS，供应商 ID (VID) 为 0x1577，对于 Matter，则为 0。系统可确保自定义架构不会将这些保留的 VID 用于功能。

**Example 示例 extinSICID**  

```
0018
0x001A
0x15771002
```

## 外在特性
<a name="definition-schema-extrinsicproperties"></a>

该`extrinsicProperties`元素包含一组在外部系统中定义但保留在数据模型中的属性。对于 Matter 功能，它映射到 ZCL 集群、属性、命令或事件中不同的未建模或部分建模的元素。

外在属性必须遵循以下约束：
+ 属性名称必须是字母数字，不含空格或特殊字符
+ 属性值可以是任何 JSON 架构值
+ 最多 20 处房产

该系统支持多种功能`extrinsicProperties`，包括`access`、`apiMaturity`、`cli``cliFunctionName`、和其他。这些属性便于 ACL 进行数据模型转换 AWS （反之亦然）。

**注意**  
功能的`action`、`event`、和`struct`字段元素支持外部属性`property`，但不支持能力或集群本身。