

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 更新 AWS 物联网 FleetWise 车辆
<a name="update-vehicle-cli"></a>

**重要**  
目前对某些 AWS 物联网 FleetWise 功能的访问受到限制。有关更多信息，请参阅 [AWS AWS 物联网中的区域和功能可用性 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 — 车辆配置**  
+ *vehicle-name*替换为您要更新的车辆的 ID。
+ （可选）*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"
            ]
        }
    ]
}
```

------