

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

# 更新屬性值
<a name="update-attribute-values"></a>

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

------
#### [ Updating an attribute value (console) ]

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

**更新屬性值 (主控台)**

1. <a name="sitewise-open-console"></a>導覽至 [AWS IoT SiteWise 主控台](https://console.aws.amazon.com/iotsitewise/)。

1. <a name="sitewise-choose-assets"></a>在導覽窗格中，選擇 **Assets (資產)**。

1. 選擇您要為其更新屬性的資產。
**提示**  <a name="sitewise-expand-asset-hierarchy"></a>
您可以選擇箭頭圖示來展開資產階層，以尋找您的資產。

1. 選擇**編輯**。

1. 尋找要更新的屬性，然後輸入其新值。  
![AWS IoT SiteWise 「編輯資產」頁面螢幕擷取畫面，並反白顯示屬性值。](http://docs.aws.amazon.com/zh_tw/iot-sitewise/latest/userguide/images/sitewise-update-asset-attribute-console.png)

1. 選擇**儲存**。

------
#### [ Updating an attribute value (AWS CLI) ]

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

您必須知道資產的 `assetId` 和財產的 `propertyId`，才能完成此程序。您也可以使用外部 ID。如果您建立資產但不知道其 `assetId`，請使用 [ListAssets](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListAssets.html) API 列出特定模型的所有資產。使用 [DescribeAsset](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html) 操作來檢視資產的屬性，包括屬性 IDs。

使用 [BatchPutAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html) 操作將屬性值指派給您的資產。您可以使用此操作一次設定多個屬性。此操作的裝載包含項目清單，而每個項目都包含資產 ID、屬性 ID 和屬性值。<a name="attribute-id-update-cli"></a>

**更新屬性的值 (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` 清單中包含一個時間戳記品質值 (TQV) 結構。此結構必須包含新的 `value` 和目前的 `timestamp`。
     + `value` – 包含下列其中一個欄位的結構，取決於所設定屬性的類型：
       + `booleanValue`
       + `doubleValue`
       + `integerValue`
       + `stringValue`
       + `nullValue`
     + `timestamp` – 包含目前 Unix epoch 時間的結構，以秒為單位，`timeInSeconds`. AWS IoT SiteWise 會拒絕過去超過 7 天或未來超過 5 分鐘的任何時間戳記資料點。

   如需如何準備 [BatchPutAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html) 承載的詳細資訊，請參閱 [使用 AWS IoT SiteWise APIs 擷取資料](ingest-api.md)。

1. 執行下列命令，將屬性值傳送至 AWS IoT SiteWise：

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

------