更新資產和模型 - AWS IoT SiteWise

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

更新資產和模型

您可以更新 AWS IoT SiteWise 中的資產和資產模型以修改其名稱和和定義。下列更新操作是非同步的,透過 AWS IoT SiteWise 傳播也需要一些時間。進行其他變更之前,請檢查資產或資產模型狀態。您必須先等到變更傳播,才能繼續使用更新的資產或模型。

更新資產

您可以使用 AWS IoT SiteWise 主控台或 API 來更新資產的名稱。

當您更新資產時,資產的狀態為UPDATING止,直到變更傳播為止。如需詳細資訊,請參閱資產和模型狀態

更新資產 (主控台)

您可以使用 AWS IoT SiteWise 主控台來更新資產詳細資料。

更新資產 (主控台)
  1. 導覽至 AWS IoT SiteWise 主控台

  2. 在導覽窗格中,選擇 Assets (資產)

  3. 選擇要更新的資產。

    提示

    您可以選擇箭頭圖示來展開資產階層,以尋找您的資產。

    
        AWS IoT SiteWise「資產」頁面截圖,其中突出顯示了資產層次結構。
  4. 選擇 Edit (編輯)。

  5. 更新資產的 Name (名稱)

  6. (選擇性) 在此頁面上,更新資產的其他資訊。如需詳細資訊,請參閱下列內容:

  7. 選擇 Save (儲存)

更新資產 (CLI)

您可以使用 AWS CLI 來更新資產的名稱。

使用此UpdateAsset作業更新資產。指定下列參數:

  • assetId— 資產的 ID。

  • assetName— 資產的新名稱。

更新資產的名稱 (CLI)
  • 執行以下命令來更新資產的名稱。將 asset-id 取代為資產的 ID,以及將 asset-name 取代為資產的新名稱。

    aws iotsitewise update-asset \ --asset-id asset-id \ --asset-name asset-name

更新資產模型

您可以使用 AWS IoT SiteWise 主控台或 API 來更新資產模型。

您無法變更現有屬性的類型或資料類型。您也無法變更現有指標的時段。

重要

如果從資產模型中移除性質,則AWS IoT SiteWise會刪除該性質的所有先前資料。如果您從資產模型中移除階層定義,AWS IoT SiteWise 會取消與該階層中所有資產的關聯。

更新資產模型時,以該模型為基礎的每個資產都會反映您對基礎模型所做的任何變更。在變更傳播之前,每個資產都有 UPDATING 狀態。您必須等到這些資產變回 ACTIVE 狀態,才能與它們進行互動。在這段期間,更新的資產模型的狀態將是 PROPAGATING。如需詳細資訊,請參閱資產和模型狀態

更新資產模型 (主控台)

您可以使用 AWS IoT SiteWise 主控台來更新資產模型。

更新資產模型 (主控台)
  1. 導覽至 AWS IoT SiteWise 主控台

  2. 在導覽窗格中,選擇 Models (模型)

  3. 選擇要更新的資產模型。

  4. 選擇 Edit (編輯)。

  5. Edit model (編輯模型) 頁面上,執行以下任一項操作:

    • Model details (模型詳細資料) 中,變更模型的 Name (名稱)

    • 變更任何 Attribute definitions (屬性定義)。您無法變更現有屬性的 Data type (資料類型)。如需詳細資訊,請參閱定義靜態數據(屬性)

    • 變更任何 Measurement definitions (衡量值定義)。您無法變更現有衡量值的 Data type (資料類型)。如需詳細資訊,請參閱從設備定義資料流 (測量)

    • 變更任何 Transform definitions (轉換定義)。如需詳細資訊,請參閱轉換資料 (轉換)

    • 變更任何 Metric definitions (指標定義)。您無法變更現有指標的 Time interval (時間間隔)。如需詳細資訊,請參閱彙總屬性和其他資產 (指標) 的資料

    • 變更任何 Hierarchy definitions (階層定義)。您無法變更現有階層的 Hierarchy model (階層模型)。如需詳細資訊,請參閱定義資產模型 (階層) 之間的關係

  6. 選擇 Save (儲存)。

更新資產模型 (CLI)

您可以使用 AWS CLI 來更新資產模型。

使用此UpdateAssetModel作業更新資產模型的名稱、說明、屬性和階層。指定下列參數:

  • assetModelId— 資產模型的 ID。

指定承載中的更新資產模型。若要了解資產模型的預期格式,請參閱 更新資產模型

警告

UpdateAssetModel作業會以您在有效負載中提供的模型覆寫現有模型。若要避免刪除資產模型的屬性或階層,您必須將其 ID 和定義納入更新的資產模型承載中。若要瞭解如何查詢模型的現有結構,請參閱DescribeAssetModel操作。

更新資產模型 (CLI)
  1. 執行以下命令來擷取現有的資產模型定義。取asset-model-id代為要更新的資產模型 ID。

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

    此操作會傳回包含資產模型詳細資料的回應。回應有以下結構。

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

    有關更多資訊,請參閱 DescribeAssetModel 操作。

  2. 建立名為 update-asset-model.json 的文件,並將前一個命令的回應複製到檔案中。

  3. 從 JSON 物件的 update-asset-model.json 中移除以下鍵值組:

    • assetModelId

    • assetModelArn

    • assetModelCreationDate

    • assetModelLastUpdateDate

    • assetModelStatus

    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。如需詳細資訊,請參閱定義資產模型 (階層) 之間的關係

    • 變更、新增或移除任何資產模型的複合模型 (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