

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

# 更新 an AWS IoT FleetWise 車輛
<a name="update-vehicle-cli"></a>

**重要**  
對特定 AWS IoT FleetWise 功能的存取目前受到鎖定。如需詳細資訊，請參閱[AWS AWS IoT FleetWise 中的區域和功能可用性](fleetwise-regions.md)。

您可以使用 [UpdateVehicle](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_UpdateVehicle.html) API 操作來更新現有車輛。下列為使用 AWS CLI的範例。

若要更新車輛，請執行下列命令。

將 *file-name* 取代為包含 車輛組態的 .json 檔案的名稱。

```
aws iotfleetwise update-vehicle --cli-input-json file://file-name.json
```

**Example – 車輛組態**  
+ 以您要更新的車輛 ID 取代 *vehicle-name*。
+ （選用） 將 *model-manifest-ARN* 取代為您用來取代使用中車輛模型之車輛模型 （模型資訊清單） 的 ARN。
+ （選用） 將 *decoder-manifest-ARN* 取代為您指定的新車輛模型相關聯的解碼器資訊清單 ARN。
+ （選用） 將 *attribute-update-mode* 取代為 車輛屬性。
  + `Merge` – 使用新值更新現有屬性，並在新屬性不存在時新增新屬性，以將新屬性合併至現有屬性。

    例如，如果車輛具有下列屬性：`{"color": "black", "fuelType": "electric"}`，而您使用下列屬性更新車輛：`{"color": "", "fuelType": "gasoline", "model": "x"}`，則更新的車輛具有下列屬性：`{"fuelType": "gasoline", "model": "x"}`。
  + `Overwrite` – 將現有的屬性取代為新的屬性。

    例如，如果車輛具有下列屬性：`{"color": "black", "fuelType": "electric"}`，而您使用 `{"model": "x"}` 屬性更新車輛，則更新的 車輛具有 `{"model": "x"}` 屬性。

  如果輸入中存在屬性，則此為必要項目。
+ （選用） 若要新增屬性或使用新值更新現有屬性，請設定 `attributes`。例如，如果您有電動汽車，您可以為 屬性指定下列值：`{"fuelType": "electric"}`。

  若要刪除屬性，請將 `attributeUpdateMode`設定為 `Merge`。
**重要**  <a name="update-attributes-requirement"></a>
您必須先在關聯的車輛模型中定義屬性，才能將屬性新增至個別車輛。

```
 { 
         "vehicleName": "vehicle-name",
         "modelManifestArn": "model-manifest-arn",
         "decoderManifestArn": "decoder-manifest-arn",
         "attributeUpdateMode": "attribute-update-mode"
         }         
}
```

**Example – 新增或移除與車輛相關聯的狀態範本**  
您可以使用下列欄位建立其他狀態範本的關聯，或從車輛中移除現有的關聯：  
+ `stateTemplatesToAdd` 
+ `stateTemplatesToRemove` 

```
aws iotfleetwise update-vehicle --cli-input-json file://update-vehicle.json
```
`update-vehicle.json` 檔案包含的位置 （例如）：  

```
{
    "vehicleName": "vehicle-name",
    "modelManifestArn": "model-manifest-arn",
    "decoderManifestArn": "decoder-manifest-arn",
    "attributeUpdateMode": "attribute-update-mode",
    "stateTemplatesToAdd": [ 
        {
            "identifier": "state-template-name",
            "stateTemplateUpdateStrategy": {
                "onChange": {}
            }
        }
    ],
    "stateTemplatesToRemove": ["state-template-name"]            
}
```

如果您使用客戶受管 AWS KMS 金鑰[啟用加密](key-management.md)，請包含下列政策陳述式，讓您的角色可以叫用 `UpdateVehicle` API 操作。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey*",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/KMS_KEY_ID"
            ]
        }
    ]
}
```

------