更新屬性值 - AWS IoT SiteWise

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

更新屬性值

資產會繼承其資產模型的屬性,包括屬性的預設值。在某些情況下,您會想要保留資產模型的預設屬性,例如資產製造商屬性。在其他情況下,您會想要更新繼承的屬性,例如資產的緯度和經度。

Updating an attribute value (console)

您可以使用 AWS IoT SiteWise 主控台來更新屬性資產屬性的值。

更新屬性值 (主控台)
  1. 導覽至 AWS IoT SiteWise 主控台

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

  3. 選擇您要為其更新屬性的資產。

    提示

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

  4. 選擇編輯

  5. 尋找要更新的屬性,然後輸入其新值。

    AWS IoT SiteWise 「編輯資產」頁面截圖,其中突出顯示了屬性值。
  6. 選擇儲存

Updating an attribute value (AWS CLI)

您可以使用 AWS Command Line Interface (AWS CLI) 來更新屬性值。

您必須知道資產的 assetId 和財產的 propertyId,才能完成此程序。您也可以使用外部 ID。如果您已建立資產但不知道資產assetId,請使用 ListAssetsAPI 列出特定模型的所有資產。使用此DescribeAsset作業可檢視資產的屬性,包括屬性 ID。

使用此BatchPutAssetPropertyValue作業將屬性值指定給資產。您可以使用此操作一次設定多個屬性。此操作的裝載包含項目清單,而每個項目都包含資產 ID、屬性 ID 和屬性值。

若要更新屬性的值 (AWS CLI)
  1. 建立名為 batch-put-payload.json 的檔案,並將下列 JSON 物件複製到檔案。此範例承載示範如何設定風力發電機的緯度和經度。更新 ID、值和時間戳記,以修改您的使用案例的承載。

    { "entries": [ { "entryId": "windfarm3-turbine7-latitude", "assetId": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE", "propertyId": "a1b2c3d4-5678-90ab-cdef-33333EXAMPLE", "propertyValues": [ { "value": { "doubleValue": 47.6204 }, "timestamp": { "timeInSeconds": 1575691200 } } ] }, { "entryId": "windfarm3-turbine7-longitude", "assetId": "a1b2c3d4-5678-90ab-cdef-22222EXAMPLE", "propertyId": "a1b2c3d4-5678-90ab-cdef-55555EXAMPLE", "propertyValues": [ { "value": { "doubleValue": 122.3491 }, "timestamp": { "timeInSeconds": 1575691200 } } ] } ] }
    • 承載中的每個項目都包含 entryId,您可以將其定義為任何獨特的字串。如果有任何請求項目失敗,每個錯誤都會包含對應請求的 entryId,這樣您就可以知道要重試哪些請求。

    • 欲設定屬性值,您可以在每個屬性內容的propertyValues清單中包含一個 timestamp-quality-value (TQV) 結構。此結構必須包含新的 value 和目前的 timestamp

      • value— 包含下列其中一個欄位的結構,視所設定的屬性類型而定:

        • booleanValue

        • doubleValue

        • integerValue

        • stringValue

      • timestamp— 包含目前 Unix 紀元時間 (以秒為單位) 的結構。timeInSeconds AWS IoT SiteWise 拒絕任何具有時間戳記的資料點,但在過去存在時間超過 7 天或 future 5 分鐘以上的時間戳記。

    如需如何準備承載的詳細資訊 BatchPutAssetPropertyValue,請參閱使用 API 擷取資料 AWS IoT SiteWise

  2. 執行下列命令,將屬性值傳送至 AWS IoT SiteWise:

    aws iotsitewise batch-put-asset-property-value -\-cli-input-json file://batch-put-payload.json