

AWS FleetWise 物联网不再向新客户开放。现有的 AWS 物联网 FleetWise 客户可以继续使用该服务。[上的《互联移动指南》 AWS提供了有关如何为](https://aws.amazon.com/solutions/guidance/connected-mobility-on-aws/)互联移动解决方案开发和部署模块化服务的指导，这些解决方案可用于实现与 AWS 物联网同等的功能 FleetWise。

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

# 更新一个 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}}"
            ]
        }
    ]
}
```

------