更新自訂複合模型 (元件) - AWS IoT SiteWise

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

更新自訂複合模型 (元件)

您可以使用 AWS IoT SiteWise API更新自訂複合模型,或使用主 AWS IoT SiteWise 控台更新元件。

更新組件(控制台)

您可以使用 AWS IoT SiteWise 主控台更新元件。

若要更新元件 (主控台)
  1. 導覽至 AWS IoT SiteWise 主控台

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

  3. 選擇元件所在的資產模型。

  4. 在 [屬性] 索引標籤上選擇 [元件]。

  5. 選擇您要更新的元件。

  6. 選擇編輯

  7. 「編輯元件」 頁面上,執行下列任一項作業:

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

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

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

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

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

  8. 選擇 Save (儲存)。

更新自訂複合模型 (AWS CLI)

使用 AWS Command Line Interface (AWS CLI) 更新自訂複合模型。

若要更新名稱或描述,請使用此UpdateAssetModelCompositeModel作業。僅對於內嵌自訂複合模型,您也可以更新屬性。您無法更新 component-model-based 自訂複合模型的性質,因為其參考的元件模型提供了其關聯的屬性。

重要

如果從自訂複合模型中移除性質,則 AWS IoT SiteWise 會刪除該性質的所有先前資料。您無法變更現有屬性的類型或資料類型。

若要以新的複合模型性質取代現有的複合模型性質name,請執行下列操作:

  1. 提交移除整個現有屬性的UpdateAssetModelCompositeModel請求。

  2. 提交包含新屬性的第二個UpdateAssetModelCompositeModel請求。新的資產屬性將具有與前一個name相同的屬性,並 AWS IoT SiteWise 將生成一個新的唯一性id

更新自訂複合模型 (AWS CLI)
  1. 若要擷取現有的複合模型定義,請執行下列指令。Replace (取代) 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
    2. 上述命令返回與關聯模型的最新版本相對應的複合模型定義。對於資產模型處於FAILED狀態的使用案例,請擷取與其使用中版本對應的有效模型定義,以建立更新請求。如需詳細資訊,請參閱 資產模型版本

    3. 執行下列指令來擷取現行模型定義:

      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
    4. 如需詳細資訊,請參閱DescribeAssetModelCompositeModel作業。

  2. 創建一個名為的文件update-custom-composite-model.json,然後將上一個命令的響應複製到該文件中。

  3. 從中的JSON物件中移除除下列欄位以update-custom-composite-model.json外的每個索引鍵值組:

    • assetModelCompositeModelName

    • assetModelCompositeModelDescription(如有)

    • assetModelCompositeModelProperties(如有)

  4. update-custom-composite-model.json 中,執行下列任何一項:

    • 變更的值assetModelCompositeModelName

    • 加入或移除assetModelCompositeModelDescription,或變更其值。

    • 僅適用於內嵌自訂複合模型:變更、加入或移除中的任何資產模型性質assetModelCompositeModelProperties

    如需有關此檔案所需格式的詳細資訊,請參閱的要求語法UpdateAssetModelCompositeModel

  5. 執行下列指令,以儲存於中的定義更新自訂複合模型update-custom-composite-model.json。Replace (取代) 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
重要

當多個使用者同時更新資產模型時,其他使用者可能會不小心覆寫使用者的變更。若要避免這種情況發生,您必須定義條件式更新要求。請參閱 資產模型寫入的最佳鎖定