

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

# 建立自訂複合模型 （元件）
<a name="create-custom-composite-models"></a>

如果您使用 主控台，則可自訂複合模型或元件，為您的資產模型和元件模型提供另一層級的組織。您可以使用它們來透過分組屬性或參考其他模型來建構模型。如需使用自訂複合模型的詳細資訊，請參閱 [自訂複合模型 （元件）](custom-composite-models.md)。

您可以在現有的資產模型或元件模型中建立自訂複合模型。自訂複合模型有兩種類型。若要將模型中的相關屬性分組，您可以建立**內嵌**自訂複合模型。若要在資產模型或元件模型中參考元件模型，您可以建立**component-model-based**自訂複合模型。

下列各節說明如何使用 AWS IoT SiteWise API 來建立自訂複合模型。

**Topics**
+ [建立內嵌元件 （主控台）](#create-inline-component-console)
+ [建立內嵌自訂複合模型 (AWS CLI)](#create-inline-composite-models-cli)
+ [建立component-model-based元件 （主控台）](#create-component-console)
+ [建立component-model-based自訂複合模型 (AWS CLI)](#create-component-based-composite-model-cli)

## 建立內嵌元件 （主控台）
<a name="create-inline-component-console"></a>

您可以使用 AWS IoT SiteWise 主控台來建立定義其自身屬性的內嵌元件。

**注意**  
由於這是*內嵌*元件，因此這些屬性僅適用於目前的資產模型，不會在其他地方共用。  
如果您需要產生可重複使用的模型 （例如，要在多個資產模型之間共用，或在一個資產模型中包含多個執行個體），您應該改為根據元件模型建立元件。如需詳細資訊，請參閱下一節。

**建立元件 （主控台）**

1. <a name="sitewise-open-console"></a>導覽至 [AWS IoT SiteWise 主控台](https://console.aws.amazon.com/iotsitewise/)。

1. <a name="sitewise-choose-models"></a>在導覽窗格中，選擇 **Models (模型)**。

1. 選擇您要新增元件的資產模型。

1. 在**屬性**索引標籤上，選擇**元件**。

1. 選擇**建立元件**。

1. 在**建立元件**頁面上，執行下列動作：

   1. 輸入元件**的名稱**，例如 **ServoMotor**或 **ServoMotor Model**。此名稱在此區域您帳戶中的所有元件中必須是唯一的。

   1. (選擇性) 新增模型的 **Attribute definitions (屬性定義)**。屬性代表很少變更的資訊。如需詳細資訊，請參閱[定義靜態資料 （屬性）](attributes.md)。

   1. (選擇性) 新增模型的 **Measurement definitions (衡量值定義)**。測量代表來自您設備的資料串流。如需詳細資訊，請參閱[從設備定義資料串流 （度量）](measurements.md)。

   1. (選擇性) 新增模型的 **Transform definitions (轉換定義)**。轉換是將資料從一個表單映射到另一個表單的公式。如需詳細資訊，請參閱[轉換資料 （轉換）](transforms.md)。

   1. (選擇性) 新增模型的 **Metric definitions (指標定義)**。指標是跨時間間隔彙總資料的公式。指標可以從相關聯的資產輸入資料，讓您可以計算代表操作或操作子集的值。如需詳細資訊，請參閱[從屬性和其他資產彙總資料 （指標）](metrics.md)。

   1. 選擇**建立元件**。

## 建立內嵌自訂複合模型 (AWS CLI)
<a name="create-inline-composite-models-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 來建立定義自己的屬性的內嵌自訂複合模型。

使用 [CreateAssetModelCompositeModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModelCompositeModel.html) 操作來建立具有 屬性的內嵌模型。此操作預期會有具備下列結構的承載。

**注意**  
由於這是*內嵌*複合模型，因此這些屬性僅適用於目前的資產模型，不會在其他地方共用。讓它「內嵌」的原因在於它不會為 `composedAssetModelId` 欄位提供值。  
如果您需要產生可重複使用的模型 （例如，要在多個資產模型之間共用，或在一個資產模型中包含多個執行個體），您應該改為建立以*component-model-based*複合模型。如需詳細資訊，請參閱下一節。

```
{
    "assetModelCompositeModelName": "CNCLathe_ServoMotorA",
    "assetModelCompositeModelType": "CUSTOM",
    "assetModelCompositeModelProperties": [
        {
            "dataType": "DOUBLE",
            "name": "Servo Motor Temperature",
            "type": {
            "measurement": {}
            },
            "unit": "Celsius"
        },
        {
            "dataType": "DOUBLE",
            "name": "Spindle speed",
            "type": {
            "measurement": {}
            },
            "unit": "rpm"
        }
    ]
}
```

## 建立component-model-based元件 （主控台）
<a name="create-component-console"></a>

您可以使用 AWS IoT SiteWise 主控台，根據元件模型建立元件。

**建立component-model-based元件 （主控台）**

1. <a name="sitewise-open-console"></a>導覽至 [AWS IoT SiteWise 主控台](https://console.aws.amazon.com/iotsitewise/)。

1. <a name="sitewise-choose-models"></a>在導覽窗格中，選擇 **Models (模型)**。

1. 選擇您要新增元件的資產模型。

1. 在**屬性**索引標籤上，選擇**元件**。

1. 選擇**建立元件**。

1. 在**建立元件**頁面上，執行下列動作：

   1. 選取您要以元件為基礎的元件模型。

   1. 輸入元件**的名稱**，例如 **ServoMotor**或 **ServoMotor Model**。此名稱在此區域您帳戶中的所有元件中必須是唯一的。

   1. 選擇**建立元件**。

## 建立component-model-based自訂複合模型 (AWS CLI)
<a name="create-component-based-composite-model-cli"></a>

您可以使用 AWS CLI 在資產模型中建立component-model-based自訂複合模型。component-model-based自訂複合模型是您已在其他位置定義的元件模型參考。

使用 [CreateAssetModelCompositeModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModelCompositeModel.html) 操作建立component-model-based自訂複合模型。此操作預期會有具備下列結構的承載。

**注意**  
在此範例中， 的值`composedAssetModelId`是資產模型 ID 或現有元件模型的外部 ID。如需詳細資訊，請參閱《AWS IoT SiteWise 使用者指南》**中的 [參考具有外部 IDs物件](object-ids.md#external-id-references)。如需如何建立元件模型的範例，請參閱 [建立元件模型 (AWS CLI)](create-component-models.md#create-component-model-cli)。

```
{
    "assetModelCompositeModelName": "CNCLathe_ServoMotorA",
    "assetModelCompositeModelType": "CUSTOM",
    "composedAssetModelId": component model ID
]
```

由於它只是參考，component-model-based自訂複合模型除了名稱之外沒有自己的屬性。

如果您想要將相同元件的多個執行個體新增至資產模型 （例如，具有多個伺服馬達的 CNC 機器），您可以新增多個component-model-based自訂複合模型，每個模型都有自己的名稱，但都參考相同的 `composedAssetModelId`。

您可以在其他元件中巢狀化元件。若要這樣做，您可以將以component-model-based複合模型新增至其中一個元件模型，如本範例所示。