更新屬性值 - AWS IoT SiteWise

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

更新屬性值

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

更新屬性值 (主控台)

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

更新屬性值 (主控台)

  1. 導覽至 AWS IoT SiteWise 主控台

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

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

    提示

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

    
        AWS IoT SiteWise 「資產」頁面螢幕擷取畫面,並已反白顯示資產階層。
  4. 選擇 Edit (編輯)。

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

    
              AWS IoT SiteWise 「編輯資產」頁面螢幕擷取畫面,並已反白顯示屬性值。
  6. 選擇 Save (儲存)

更新屬性值 (CLI)

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

您必須知道資產的 assetId 和財產的 propertyId,才能完成此程序。如果您建立資產但是不知道它的 assetId,請使用 ListAssets 操作,針對特定模型檢視您的所有資產。然後,使用 DescribeAsset 操作以檢視您資產的屬性,包括屬性 ID。

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

更新屬性值 (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 清單中包含一個時間戳記品質值 (TQV) 結構。此結構必須包含新的 value 和目前的 timestamp

    • value— 包含下列其中一個欄位的結構,取決於要設定的屬性類型。

      • booleanValue

      • doubleValue

      • integerValue

      • stringValue

    • timestamp— 包含目前 Unix epoch 時間的結構,以秒為單位,timeInSeconds。AWS IoT SiteWise傳回目前時間戳記超過過去 7 天或未來 5 分鐘時間戳記的任何資料點。

    如需如何為BatchPutAssetPropertyValue,請參使用 AWS IoT SiteWise API 導入資料

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

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