

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

# 資料模型結構描述
<a name="data-model-schemas"></a>

受管整合支援兩種結構描述類型：*功能*和*類型定義*。如果您要建立自訂資料模型，您可以使用 JSON 結構描述文件來定義任一類型的結構描述。每個結構描述文件的限制為 50，000 個字元。

## 功能結構描述
<a name="data-model-schemas-capability"></a>

*功能*是代表端點內特定功能的基本建置區塊。透過 功能，您可以使用屬性、動作和事件來建立裝置狀態和行為的模型。*屬性*可讓您彈性地使用任何宣告資料類型建立裝置的狀態屬性模型。*動作*和*事件*會建立裝置行為的模型，包括可以執行的命令，以及可以報告的訊號。

以下顯示功能結構描述的高階結構。

```
Capability
  |
  |-- Action
  |-- Event      
  |-- Property
```

Action  
代表與裝置功能互動的實體。例如，響鈴或檢視誰在門口。

事件  
代表裝置功能事件的實體。裝置可以傳送事件，以報告來自感應器的事件、警示或活動，例如撞門。

屬性  
代表裝置狀態中特定屬性的實體。例如，鈴聲正在響起或門廊燈已開啟

每個功能都包含唯一的命名空間識別符、版本資訊及其用途的描述。結構描述文件使用語意版本控制來維持回溯相容性，同時啟用新功能。

如需詳細資訊，請參閱[功能定義的結構描述](schema-for-capability-definitions.md)。

## 類型定義結構描述
<a name="data-model-schemas-type-definition"></a>

類型定義是一種宣告式結構化資料類型，可實現可重複使用性和可編寫性。它定義了如何格式化和限制資訊。使用類型定義來建立整個 IoT 解決方案的標準化資料格式。

每個類型定義包括：
+ 唯一的命名空間識別符
+ Title
+ 說明
+ 定義資料格式和限制條件的屬性

類型可以是簡單的基本概念，例如具有定義限制的整數或字串，或是複雜結構，例如列舉或具有多個欄位的自訂物件。類型定義使用 JSON 結構描述語法來指定限制條件，包括最小值和最大值、字串長度和允許的模式。

如需詳細資訊，請參閱[類型定義的結構描述](schema-for-type-definitions.md)。