アセットモデルとコンポーネントモデルを更新する - AWS IoT SiteWise

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

アセットモデルとコンポーネントモデルを更新する

AWS IoT SiteWise コンソールまたは APIを使用して、アセットモデルまたはコンポーネントモデルを更新します。

既存のプロパティのタイプやデータタイプ、または既存のメトリクスのウィンドウを変更することはできません。また、モデルのタイプをアセットモデルからコンポーネントモデル、またはその逆に変更することもできません。

重要
  • アセットモデルまたはコンポーネントモデルからプロパティを削除すると、 はそのプロパティの以前のデータをすべて AWS IoT SiteWise 削除します。コンポーネントモデルの場合、これはそのコンポーネントモデル を使用するすべてのアセットモデルに影響するため、変更がどの程度適用されるかを理解するように特に注意してください。

  • アセットモデルから階層定義を削除すると、 はその階層内のすべてのアセットの関連付け AWS IoT SiteWise を解除します。

アセットモデルを更新すると、基になるモデルに加えた変更がそのモデルに基づくすべてのアセットに反映されます。変更が反映されるまで、各アセットには UPDATING 状態になります。それらのアセットを操作する前に、それらが ACTIVE 状態に戻るまで待機する必要があります。この間、更新されたアセットモデルのステータスは PROPAGATING になります。

コンポーネントモデルを更新すると、そのコンポーネントモデルを組み込むすべてのアセットモデルに変更が反映されます。コンポーネントモデルの変更が伝達されるまで、影響を受ける各アセットモデルUPDATINGの状態は になり、その後PROPAGATING、前の段落で説明したように、関連付けられたアセットが更新されます。これらのアセットモデルが ACTIVE状態に戻るまで待ってから、操作する必要があります。この間、更新されたコンポーネントモデルのステータスは になりますPROPAGATING

詳細については、「アセットおよびモデルの状態」を参照してください。

アセットまたはコンポーネントモデルの更新 (コンソール)

AWS IoT SiteWise コンソールを使用して、アセットモデルまたはコンポーネントモデルを更新できます。

アセットモデルまたはコンポーネントモデルを更新するには (コンソール)
  1. AWS IoT SiteWise コンソールに移動します。

  2. ナビゲーションペインで、[モデル] を選択します。

  3. 更新するアセットモデルまたはコンポーネントモデルを選択します。

  4. [編集] を選択します。

  5. [モデルの編集] ページで、次のいずれかの操作を行います。

  6. [Save] を選択します。

注記

最後にモデルの編集ページを開いてから別のユーザーがアセットモデルを正常に更新した場合、コンソールで行われた更新リクエストは拒否されます。コンソールは、モデルの編集ページを更新して、更新されたモデルを取得するようにユーザーに求めます。更新をやり直し、保存を再試行する必要があります。詳細については、「アセットモデルの書き込みに対する楽観的ロック」を参照してください。

アセットまたはコンポーネントモデルを更新する (AWS CLI)

AWS Command Line Interface (AWS CLI) を使用して、アセットモデルまたはコンポーネントモデルを更新します。

UpdateAssetModel API を使用して、アセットモデルまたはコンポーネントモデルの名前、説明、プロパティを更新します。アセットモデルでのみ、階層を更新できます。以下のパラメータを指定します。

  • assetModelId – アセットの ID。これは UUID形式の実際の ID です。 externalId:myExternalIdがある場合は です。詳細については、AWS IoT SiteWise  ユーザーガイドの 外部でオブジェクトを参照する IDsを参照してください。

ペイロードで更新されたモデルを指定します。アセットモデルまたはコンポーネントモデルの想定される形式については、「」を参照してくださいアセットモデルを作成する

警告

は、ペイロードで指定したモデルで既存のモデルをUpdateAssetModelAPI上書きします。モデルのプロパティや階層を削除しないようにするには、更新されたモデルペイロードにそれらの IDsと 定義を含める必要があります。モデルの既存の構造をクエリする方法については、 DescribeAssetModelオペレーションを参照してください。

注記

次の手順では、タイプ の複合モデルのみを更新できますAWS/ALARMCUSTOM 複合モデルを更新する場合は、UpdateAssetModelCompositeModel代わりに を使用します。詳細については、「カスタム複合モデル (コンポーネント) の更新」を参照してください。

アセットモデルまたはコンポーネントモデルを更新するには (AWS CLI)
  1. 既存のモデル定義を取得するには、次のコマンドを実行します。置換 asset-model-id 更新するアセットモデルまたはコンポーネントモデルの ID または外部 ID を持つ 。

    aws iotsitewise describe-asset-model --asset-model-id asset-model-id

    上記のコマンドは、モデルの最新バージョンに対応するモデル定義を返します。

    アセットモデルが FAILED状態にあるユースケースでは、アクティブなバージョンに対応する有効なモデル定義を取得して、更新リクエストを構築します。詳細については、「アセットモデルバージョン」を参照してください。次のコマンドを実行して、アクティブなモデル定義を取得します。

    aws iotsitewise describe-asset-model --asset-model-id asset-model-id --asset-model-version ACTIVE

    オペレーションは、モデルの詳細を含むレスポンスを返します。このレスポンスには以下の構造が含まれます。

    { "assetModelId": "String", "assetModelArn": "String", "assetModelName": "String", "assetModelDescription": "String", "assetModelProperties": Array of AssetModelProperty, "assetModelHierarchies": Array of AssetModelHierarchyDefinition, "assetModelCompositeModels": Array of AssetModelCompositeModel, "assetModelCompositeModelSummaries": Array of AssetModelCompositeModelSummary, "assetModelCreationDate": "String", "assetModelLastUpdateDate": "String", "assetModelStatus": { "state": "String", "error": { "code": "String", "message": "String" }, "assetModelType": "String" }, "assetModelVersion": "String", "eTag": "String" }

    詳細については、「 DescribeAssetModelオペレーション」を参照してください。

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

  3. の JSON オブジェクトから次のキーと値のペアを削除しますupdate-asset-model.json

    • assetModelId

    • assetModelArn

    • assetModelCompositeModelSummaries

    • assetModelCreationDate

    • assetModelLastUpdateDate

    • assetModelStatus

    • assetModelType

    • assetModelVersion

    • eTag

    UpdateAssetModel オペレーションには、次の構造を持つペイロードが必要です。

    { "assetModelName": "String", "assetModelDescription": "String", "assetModelProperties": Array of AssetModelProperty, "assetModelHierarchies": Array of AssetModelHierarchyDefinition, "assetModelCompositeModels": Array of AssetModelCompositeModel }
  4. update-asset-model.json で、次のいずれかを行ってください。

    • アセットモデルの名前を変更します (assetModelName)。

    • アセットモデルの説明を変更、追加、または削除します (assetModelDescription)。

    • アセットモデルのプロパティを変更、追加、または削除します (assetModelProperties)。既存のプロパティの dataType、または既存のメトリクスの window を変更することはできません。詳細については、「データプロパティを定義する」を参照してください。

    • アセットモデルの階層を変更、追加、または削除します (assetModelHierarchies)。既存の階層の childAssetModelId は変更できません。詳細については、「アセットモデル階層の定義」を参照してください。

    • アセットモデルのタイプ AWS/ALARM () の複合モデルを変更、追加、または削除しますassetModelCompositeModels。アラームは、他のプロパティをモニタリングし、機器やプロセスに注意が必要な時期を特定することができます。各アラーム定義は、アラームが使用する一連のプロパティを標準化した複合モデルです。詳細については、「アラームでデータをモニタリングする」および「アセットモデルにアラームを定義する」を参照してください。

  5. 次のコマンドを実行して、update-asset-model.json に保存されている定義でアセットモデルを更新します。置換 asset-model-id アセットモデルの ID を指定:

    aws iotsitewise update-asset-model \ --asset-model-id asset-model-id \ --cli-input-json file://model-payload.json
重要

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