

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# カスタム複合モデルを作成する (コンポーネント)
<a name="create-custom-composite-models"></a>

カスタム複合モデル、またはコンポーネント (コンソールを使用している場合) を使用すると、アセットモデルとコンポーネントモデルをより高度に整理することができます。これらを使用し、プロパティをグループ化するか、他のモデルを参照することで、モデルを構造化できます。カスタム複合モデルの使用の詳細については、「[カスタム複合モデル (コンポーネント)](custom-composite-models.md)」を参照してください。

既存のアセットモデルまたはコンポーネントモデル内にカスタム複合モデルを作成します。カスタム複合モデルには 2 つのタイプがあります。モデル内の関連プロパティをグループ化するには、**インライン**カスタム複合モデルを作成できます。アセットモデルまたはコンポーネントモデル内のコンポーネントモデルを参照するには、**コンポーネントモデルベースの**カスタム複合モデルを作成できます。

以下のセクションでは、 AWS IoT SiteWise API を使用してカスタム複合モデルを作成する方法について説明します。

**Topics**
+ [インラインコンポーネントを作成する (コンソール)](#create-inline-component-console)
+ [インラインカスタム複合モデルを作成する (AWS CLI)](#create-inline-composite-models-cli)
+ [コンポーネントモデルベースのコンポーネントを作成する (コンソール)](#create-component-console)
+ [コンポーネントモデルベースのカスタム複合モデルを作成する (AWS CLI)](#create-component-based-composite-model-cli)

## インラインコンポーネントを作成する (コンソール)
<a name="create-inline-component-console"></a>

 AWS IoT SiteWise コンソールを使用して、独自のプロパティを定義するインラインコンポーネントを作成できます。

**注記**  
これは*インライン*コンポーネントであるため、これらのプロパティは現在のアセットモデルにのみ適用され、他の場所では共有されません。  
再利用可能なモデルを作成する必要がある場合 (複数のアセットモデル間で共有する場合や、1 つのアセットモデルに複数のインスタンスを含める場合など)、代わりにコンポーネントモデルに基づいてコンポーネントを作成する必要があります。詳細については、次のセクションを参照してください。

**コンポーネントを作成するには (コンソール)**

1. <a name="sitewise-open-console"></a>[AWS IoT SiteWise コンソール](https://console.aws.amazon.com/iotsitewise/)に移動します。

1. <a name="sitewise-choose-models"></a>ナビゲーションペインで、[**モデル**] を選択します。

1. コンポーネントを追加するアセットモデルを選択します。

1. **[プロパティ]** タブで、**[コンポーネント]** を選択します。

1. **[コンポーネントを作成]** を選択します。

1. **[コンポーネントを作成する]** ページで、次の操作を行います。

   1. コンポーネントの **[名前]** (**ServoMotor** や **ServoMotor Model** など) を入力します。この名前は、このリージョンのアカウントのすべてのモデルで一意である必要があります。

   1. (オプション) モデルの [**属性定義**] を追加します。属性は、ほとんど変化しない情報を表します。詳細については、「[静的データ (属性) を定義する](attributes.md)」を参照してください。

   1. (オプション) モデルの [**測定の定義**] を追加します。測定値は、機器からのデータストリームを表します。詳細については、「[機器からのデータストリームを定義する (測定値)](measurements.md)」を参照してください。

   1. (オプション) モデルの [**定義を変換する**] を追加します。変換とは、あるフォームから別のフォームにデータをマッピングするための数式です。詳細については、「[データを変換する (変換)](transforms.md)」を参照してください。

   1. (オプション) モデルの [**メトリクスの定義**] を追加します。メトリクスとは、時間間隔でのデータを集計する数式です。メトリクスは、関連するアセットからデータを入力できるため、オペレーションまたはオペレーションのサブセットを表す値をコンピューティングすることができます。詳細については、「[プロパティおよびその他のアセットからのデータを集計する (メトリクス)](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` フィールドの値を提供しないためです。  
再利用可能なモデルを作成する必要がある場合 (複数のアセットモデル間で共有する場合や、1 つのアセットモデル内に複数のインスタンスを含める場合など)、代わりに*コンポーネントモデルベースの*複合モデルを作成する必要があります。詳細については、次のセクションを参照してください。

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

## コンポーネントモデルベースのコンポーネントを作成する (コンソール)
<a name="create-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>ナビゲーションペインで、[**モデル**] を選択します。

1. コンポーネントを追加するアセットモデルを選択します。

1. **[プロパティ]** タブで、**[コンポーネント]** を選択します。

1. **[コンポーネントを作成]** を選択します。

1. **[コンポーネントを作成する]** ページで、次の操作を行います。

   1. コンポーネントが基づくコンポーネントモデルを選択します。

   1. コンポーネントの **[名前]** (**ServoMotor** や **ServoMotor Model** など) を入力します。この名前は、このリージョンのアカウントのすべてのモデルで一意である必要があります。

   1. **[コンポーネントを作成]** を選択します。

## コンポーネントモデルベースのカスタム複合モデルを作成する (AWS CLI)
<a name="create-component-based-composite-model-cli"></a>

を使用して、アセットモデル内にcomponent-model-basedカスタム複合モデル AWS CLI を作成できます。コンポーネントモデルベースのカスタム複合モデルは、既に他の場所で定義したコンポーネントモデルへの参照です。

[CreateAssetModelCompositeModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModelCompositeModel.html) オペレーションを使用して、コンポーネントモデルベースのカスタム複合モデルを作成します。このオペレーションでは、次の構造を持つペイロードが必要です。

**注記**  
この例では、`composedAssetModelId` の値は、既存のコンポーネントモデルのアセットモデル ID または外部 ID です。詳細については、AWS IoT SiteWise  ユーザーガイドの [外部 ID を持つリファレンスオブジェクト](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
]
```

これは単なる参照であるため、コンポーネントモデルベースのカスタム複合モデルには、名前以外の独自のプロパティはありません。

同じコンポーネントの複数のインスタンスをアセットモデルに追加する場合 (複数のサーボモーターを持つ CNC マシンなど)、それぞれに独自の名前があり、すべて同じ `composedAssetModelId` を参照する複数のコンポーネントモデルベースのカスタム複合モデルを追加できます。

コンポーネントを別のコンポーネントの中に入れ子にできます。そのためには、この例に示すように、コンポーネントモデルベースの複合モデルをコンポーネントモデルの 1 つに追加できます。