

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

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

 AWS IoT SiteWise API を使用してカスタム複合モデルを更新するか、 AWS IoT SiteWise コンソールを使用してコンポーネントを更新できます。

**Topics**
+ [コンポーネントを更新する (コンソール)](#update-custom-composite-model-console)
+ [カスタム複合モデルを更新する (AWS CLI)](#update-custom-composite-model-cli)

## コンポーネントを更新する (コンソール)
<a name="update-custom-composite-model-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. **[コンポーネントを編集]** ページで、次のいずれかの操作を行います。
   + [**モデルの詳細**] で、モデルの [**名前**] を変更します。
   + 任意の [**属性定義**] を変更します。既存の属性の [**データ型**] は変更できません。詳細については、「[静的データ (属性) を定義する](attributes.md)」を参照してください。
   + [**測定の定義**] を変更します。既存の測定値の [**データ型**] は変更できません。詳細については、「[機器からのデータストリームを定義する (測定値)](measurements.md)」を参照してください。
   + 任意の [**定義を変換する**] を変更します。詳細については、「[データを変換する (変換)](transforms.md)」を参照してください。
   + [**メトリクスの定義**] を変更します。既存のメトリクスの [**時間間隔**] は変更できません。詳細については、「[プロパティおよびその他のアセットからのデータを集計する (メトリクス)](metrics.md)」を参照してください。

1. **[保存]** を選択します。

## カスタム複合モデルを更新する (AWS CLI)
<a name="update-custom-composite-model-cli"></a>

 AWS Command Line Interface (AWS CLI) を使用して、カスタム複合モデルを更新します。

名前または説明を更新するには、[UpdateAssetModelCompositeModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModelCompositeModel.html) オペレーションを使用します。インラインカスタム複合モデルのみ、プロパティも更新できます。コンポーネントモデルベースのカスタム複合モデルのプロパティは、参照されるコンポーネントモデルが関連するプロパティを提供するため、更新できません。

**重要**  
カスタム複合モデルからプロパティを削除すると、 はそのプロパティの以前のデータをすべて AWS IoT SiteWise 削除します。既存のプロパティのタイプまたはデータ型は変更できません。  
既存の複合モデルプロパティを同じ `name` を持つ新しいプロパティに置き換えるには、以下を実行します。  
既存のプロパティ全体を削除して `UpdateAssetModelCompositeModel` リクエストを送信します。
新しいプロパティを含む 2 番目の `UpdateAssetModelCompositeModel` リクエストを送信します。新しいアセットプロパティは、前のアセットプロパティ`name`と同じ を持ち AWS IoT SiteWise 、新しい一意の を生成します`id`。

**カスタム複合モデルを更新するには (AWS CLI)**

1. 既存の複合モデル定義を取得するには、次のコマンドを実行します。*composite-model-id* を更新対象のカスタム複合モデルの ID または外部 ID に置き換え、 *asset-model-id* をカスタム複合モデルが関連付けられているアセットモデルに置き換えます。詳細については、「*AWS IoT SiteWise ユーザーガイド*」を参照してください。

   1. 以下のコマンドを実行します。

      ```
      aws iotsitewise describe-asset-model-composite-model \
      --asset-model-composite-model-id composite-model-id \
      --asset-model-id asset-model-id
      ```

   1.  上記のコマンドは、関連付けられたモデルの最新バージョンに対応する複合モデル定義を返します。アセットモデルが `FAILED` 状態にあるユースケースでは、アクティブなバージョンに対応する有効なモデル定義を取得して、更新リクエストを構築します。詳細については、「[アセットモデルのバージョン](model-active-version.md)」を参照してください。

   1. 次のコマンドを実行して、アクティブなモデル定義を取得します。

      ```
      aws iotsitewise describe-asset-model-composite-model \
      --asset-model-composite-model-id composite-model-id \
      --asset-model-id asset-model-id \
      --asset-model-version ACTIVE
      ```

   1. 詳細については、[DescribeAssetModelCompositeModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModelCompositeModel.html) オペレーションを参照してください。

1. `update-custom-composite-model.json` という名前のファイルを作成し、前のコマンドのレスポンスをファイルにコピーします。

1. `update-custom-composite-model.json` の JSON オブジェクトから、以下のフィールドを除くすべてのキーと値のペアを削除します。
   + `assetModelCompositeModelName`
   + `assetModelCompositeModelDescription` (存在する場合)
   + `assetModelCompositeModelProperties` (存在する場合)

1. `update-custom-composite-model.json` で、次のいずれかを行ってください。
   + `assetModelCompositeModelName` の値を変更します。
   + `assetModelCompositeModelDescription` を追加または削除するか、その値を変更します。
   + インラインカスタム複合モデルのみ: `assetModelCompositeModelProperties` のアセットモデルのプロパティを変更、追加、または削除します。

   このファイルに必要な形式の詳細については、[UpdateAssetModelCompositeModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModelCompositeModel.html) のリクエスト構文を参照してください。

1. 次のコマンドを実行して、`update-custom-composite-model.json` に保存されている定義でカスタム複合モデルを更新します。*composite-model-id* を複合モデルの ID に、*asset-model-id* をその中のアセットモデルの ID に置き換えます。

   ```
   aws iotsitewise update-asset-model-composite-model \
   --asset-model-composite-model-id composite-model-id \
   --asset-model-id asset-model-id \
   --cli-input-json file://update-custom-composite-model.json
   ```

**重要**  
 複数のユーザーがアセットモデルを同時に更新すると、ユーザーの変更が別のユーザーによって誤って上書きされる可能性があります。これを防ぐには、条件付き更新リクエストを定義する必要があります。「[アセットモデル書き込みの楽観的ロック](opt-locking-for-model.md)」を参照してください。