

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

# Manage AWS IoT FleetWise 車輛
<a name="vehicles"></a>

車輛是 車輛模型的執行個體。車輛必須從車輛模型建立，並與解碼器資訊清單相關聯。車輛會將一或多個資料串流上傳至雲端。例如，車輛可以將加熱資料的里程、引擎溫度和狀態傳送至雲端。每部車輛都包含下列資訊：

`vehicleName`  
識別車輛的 ID。  
請勿在您的車輛名稱中新增個人身分識別資訊 (PII) 或其他機密或敏感資訊。車輛名稱可供其他服務存取 AWS ，包括 Amazon CloudWatch。車輛名稱不適用於私有或敏感資料。

`modelManifestARN`  
車輛模型 （模型資訊清單） 的 Amazon Resource Name (ARN)。每部車輛都是從車輛模型建立的。從相同車輛模型建立的車輛由繼承自車輛模型的相同訊號群組組成。這些訊號是在訊號目錄中定義和標準化。

`decoderManifestArn`  
解碼器資訊清單的 ARN。解碼器資訊清單提供解碼資訊， AWS IoT FleetWise 可用來將原始訊號資料 （二進位資料） 轉換為人類可讀取的值。解碼器資訊清單必須與車輛模型相關聯。 AWS IoT FleetWise 使用相同的解碼器資訊清單，從根據相同車輛模型建立的車輛解碼原始資料。

`attributes`  
屬性是包含靜態資訊的鍵值對。車輛可以包含繼承自車輛模型的屬性。您可以新增其他屬性，以區分個別車輛與從相同車輛模型建立的其他車輛。例如，如果您有黑車，您可以為 屬性指定下列值：`{"color": "black"}`。  
屬性必須在相關聯的車輛模型中定義，才能將其新增至個別車輛。

如需車輛模型、解碼器資訊清單和屬性的詳細資訊，請參閱 [Model AWS IoT FleetWise 車輛](vehicle-modeling.md)。

AWS IoT FleetWise 提供下列 API 操作，您可以用來建立和管理 車輛。
+ [CreateVehicle](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_CreateVehicle.html) – 建立新車輛。
+ [BatchCreateVehicle](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_BatchCreateVehicle.html) – 建立一或多個新車輛。
+ [UpdateVehicle](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_UpdateVehicle.html) – 更新現有車輛。
+ [BatchUpdateVehicle](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_BatchUpdateVehicle.html) – 更新一或多個現有車輛。
+ [DeleteVehicle](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_DeleteVehicle.html) – 刪除現有車輛。
+ [ListVehicles](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_ListVehicles.html) – 擷取所有車輛的分頁摘要清單。
+ [GetVehicle](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_GetVehicle.html) – 擷取車輛的相關資訊。

**Topics**
+ [Provision AWS IoT FleetWise 車輛](provision-vehicles.md)
+ [AWS IoT FleetWise 中的預留主題](reserved-topics.md)
+ [建立 AWS IoT FleetWise 車輛](create-vehicle.md)
+ [建立多個 AWS IoT FleetWise 車輛](create-vehicles-cli.md)
+ [更新 an AWS IoT FleetWise 車輛](update-vehicle-cli.md)
+ [更新多個 AWS IoT FleetWise 車輛](update-vehicles-cli.md)
+ [刪除 AWS IoT FleetWise 車輛](delete-vehicle.md)
+ [Get AWS IoT FleetWise 車輛資訊](get-vehicle-information-cli.md)

# Provision AWS IoT FleetWise 車輛
<a name="provision-vehicles"></a>

車輛中執行的 Edge Agent for AWS IoT FleetWise 軟體會收集資料並將其傳輸至雲端。 AWS IoT FleetWise 與 整合 AWS IoT Core ，以支援 Edge Agent 軟體與透過 MQTT 的雲端之間的安全通訊。每部車輛對應至 實 AWS IoT 物。您可以使用現有的 AWS IoT 實物來建立車輛，或設定 AWS IoT FleetWise 來自動為您的車輛建立實 AWS IoT 物。如需詳細資訊，請參閱[建立 AWS IoT FleetWise 車輛](create-vehicle.md)。

AWS IoT Core 支援身分[驗證](https://docs.aws.amazon.com/iot/latest/developerguide/authentication.html)和[授權](https://docs.aws.amazon.com/iot/latest/developerguide/iot-authorization.html)，可協助安全地控制對 AWS IoT FleetWise 資源的存取。車輛可以使用 X.509 憑證進行身分驗證 （登入），以使用 AWS IoT FleetWise 和 AWS IoT Core 政策來取得授權 （具有許可） 來執行指定的動作。

## 驗證 車輛
<a name="authenticate-vehicle"></a>

您可以建立 AWS IoT Core 政策來驗證您的 車輛。

**驗證您的 車輛**
+ 若要建立 AWS IoT Core 政策，請執行下列命令。
  + 將 *policy-name* 取代為您要建立的政策名稱。
  + 將 *file-name* 取代為包含 AWS IoT Core 政策的 JSON 檔案名稱。

  ```
  aws iot create-policy --policy-name policy-name --policy-document file://file-name.json 
  ```

### 範例 AWS IoT Core 政策
<a name="automate-vehicle-example-policy"></a>

  使用範例政策之前，請執行下列動作：
  + 將 *us-east-1* 取代為您建立 AWS IoT FleetWise 資源 AWS 的區域。
  + 將 *111122223333* 取代為 AWS 您的帳戶 ID。

  此範例包含 AWS IoT FleetWise 保留的主題。您必須將主題新增至政策。如需詳細資訊，請參閱[AWS IoT FleetWise 中的預留主題](reserved-topics.md)。

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "iot:Connect"
              ],
              "Resource": [
                  "arn:aws:iot:us-east-1:111122223333:client/${iot:Connection.Thing.ThingName}"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "iot:Publish"
              ],
              "Resource": [
                  "arn:aws:iot:us-east-1:111122223333:topic/$aws/iotfleetwise/vehicles/${iot:Connection.Thing.ThingName}/checkins",
                  "arn:aws:iot:us-east-1:111122223333:topic/$aws/iotfleetwise/vehicles/${iot:Connection.Thing.ThingName}/signals"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "iot:Subscribe"
              ],
              "Resource": [
                  "arn:aws:iot:us-east-1:111122223333:topicfilter/$aws/iotfleetwise/vehicles/${iot:Connection.Thing.ThingName}/collection_schemes",
                  "arn:aws:iot:us-east-1:111122223333:topicfilter/$aws/iotfleetwise/vehicles/${iot:Connection.Thing.ThingName}/decoder_manifests"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "iot:Receive"
              ],
              "Resource": [
                  "arn:aws:iot:us-east-1:111122223333:topic/$aws/iotfleetwise/vehicles/${iot:Connection.Thing.ThingName}/collection_schemes",
                  "arn:aws:iot:us-east-1:111122223333:topic/$aws/iotfleetwise/vehicles/${iot:Connection.Thing.ThingName}/decoder_manifests"
              ]
          }
      ]
  }
  ```

------

## 授權 車輛
<a name="authorize-vehicles"></a>

您可以建立 X.509 憑證來授權您的 車輛。

**授權您的 車輛**
**重要**  
建議您為每個車輛建立新的憑證。

1. 若要建立 RSA 金鑰對並發行 X.509 憑證，請執行下列命令。
   + 將 *cert* 取代為儲存 certificatePem 命令輸出內容的檔案名稱。
   + 將 *public-key* 取代為儲存 keyPair.PublicKey.
   + 將 *private-key* 取代為儲存 keyPair.PrivateKey.

   ```
   aws iot create-keys-and-certificate \
       --set-as-active \
       --certificate-pem-outfile cert.pem \
       --public-key-outfile public-key.key" \
       --private-key-outfile  private-key.key"
   ```

1. 從輸出複製憑證的 Amazon Resource Name (ARN)。

1. 若要將政策連接至憑證，請執行下列命令。
   + 將 *policy-name* 取代為您建立 AWS IoT Core 的政策名稱。
   + 將 *certificate-arn* 取代為您複製之憑證的 ARN。

   ```
   aws iot attach-policy \
       --policy-name policy-name\
       --target "certificate-arn"
   ```

1. 若要將憑證連接至物件，請執行下列命令。
   + 以您的*實物名稱或車輛 ID 取代 thing-name*。 AWS IoT 
   + 將 *certificate-arn* 取代為您複製之憑證的 ARN。

   ```
   aws iot attach-thing-principal \
       --thing-name thing-name \
       --principal "certificate-arn"
   ```

# AWS IoT FleetWise 中的預留主題
<a name="reserved-topics"></a>

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

AWS IoT FleetWise 保留下列主題的使用。如果預留主題允許，您可以訂閱或發佈至該主題。不過，您無法建立以美元符號 (\$1) 開頭的新主題。如果您使用不支援的發佈或訂閱操作搭配預留主題，可能會導致連線結束。


| 主題 | 允許用戶端操作 | Description | 
| --- | --- | --- | 
|  `$aws/iotfleetwise/vehicles/vehicleName/checkins`  |  發布  |  Edge Agent 軟體會將車輛狀態資訊發佈至此主題。 車輛狀態資訊會以通訊協定緩衝 (Protobuf) 格式交換。如需詳細資訊，請參閱 [https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/edge-agent-dev-guide.md#data-models](https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/edge-agent-dev-guide.md#data-models)。  | 
|  `$aws/iotfleetwise/vehicles/vehicleName/signals`  |  發布  |  Edge Agent 軟體會將訊號發佈至此主題。 訊號資訊會以通訊協定緩衝區 (Protobuf) 格式交換。如需詳細資訊，請參閱 [https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/edge-agent-dev-guide.md#data-models](https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/edge-agent-dev-guide.md#data-models)。  | 
|  `$aws/iotfleetwise/vehicles/vehicleName/collection_schemes`  |  訂閱  |  AWS IoT FleetWise 會將資料收集方案發佈至此主題。車輛會使用這些資料收集方案。  | 
|  `$aws/iotfleetwise/vehicles/vehicleName/decoder_manifests`  |  訂閱  |  AWS IoT FleetWise 會將解碼器資訊清單發佈至此主題。車輛會使用這些解碼器資訊清單。  | 
|  `$aws/iotfleetwise/vehicles/vehicleName/command/request`  |  訂閱  |  AWS IoT FleetWise 會將執行命令的請求發佈至此主題。車輛接著會使用這些命令請求。  | 
|  `$aws/iotfleetwise/vehicles/vehicleName/command/response`  |  發布  |  Edge Agent 軟體會將命令回應從車輛發佈至此主題。 命令回應會以通訊協定緩衝區 (Protobuf) 格式交換。如需詳細資訊，請參閱 [https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/edge-agent-dev-guide.md#data-models](https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/edge-agent-dev-guide.md#data-models)。  | 
|  `$aws/iotfleetwise/vehicles/vehicleName/command/notification`  |  訂閱  |  AWS IoT FleetWise 會將命令狀態更新發佈至此主題。通知會以 JSON 格式傳送。  | 
|  `$aws/iotfleetwise/vehicles/$vehicle_name/last_known_states/config`   |  訂閱  |  AWS IoT FleetWise 會將狀態範本組態發佈至此主題。車輛會使用這些狀態範本組態。  | 
|  `$aws/iotfleetwise/vehicles/$vehicle_name/last_known_states/data`   |  發布  |  Edge Agent 軟體會將從訊號收集的資料發佈至此主題。  | 
|  `$aws/iotfleetwise/vehicles/$vehicle_name/last_known_state/$state_template_name/data`   |  訂閱  |  AWS IoT FleetWise 會從`$state_template_name`此主題指定的 中設定的訊號發佈收集的資料。更新可以是部分更新。例如，如果狀態範本關聯包含具有變更中更新策略的多個訊號，則指定的訊息中只會包含已變更的訊號。 訊號資訊會以通訊協定緩衝區 (Protobuf) 格式交換。如需詳細資訊，請參閱 [https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/edge-agent-dev-guide.md#data-models](https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/edge-agent-dev-guide.md#data-models)。  | 

# 建立 AWS IoT FleetWise 車輛
<a name="create-vehicle"></a>

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

您可以使用 AWS IoT FleetWise 主控台或 API 來建立車輛。

**重要**  
開始之前，請檢查下列項目：  
您必須擁有 車輛模型，且車輛模型的狀態必須為 `ACTIVE`。如需詳細資訊，請參閱[Manage AWS IoT FleetWise 車輛模型車輛模型](vehicle-models.md)。
您的 車輛模型必須與解碼器資訊清單相關聯，且解碼器資訊清單的狀態必須為 `ACTIVE`。如需詳細資訊，請參閱[Manage AWS IoT FleetWise 解碼器資訊清單](decoder-manifests.md)。

**Topics**
+ [建立車輛 （主控台）](#create-vehicle-console)
+ [建立車輛 (AWS CLI)](#create-vehicle-cli)

## 建立車輛 （主控台）
<a name="create-vehicle-console"></a>

您可以使用 AWS IoT FleetWise 主控台來建立車輛。

**建立 車輛**

1. 開啟 [AWS IoT FleetWise 主控台](https://console.aws.amazon.com/iotfleetwise)。

1. 在導覽窗格中，選擇 **車輛**。

1. 在車輛摘要頁面上，選擇**建立車輛**，然後執行下列步驟。

**Topics**
+ [步驟 1：定義車輛屬性](#define-vehicle-properties-console)
+ [步驟 2：設定車輛憑證](#define-vehicle-certificate-console)
+ [步驟 3：將政策連接至憑證](#attach-vehicle-policy-console)
+ [步驟 4：檢閱和建立](#review-and-create-vehicle-console)

### 步驟 1：定義車輛屬性
<a name="define-vehicle-properties-console"></a>

在此步驟中，您會命名車輛，並將其與模型資訊清單和解碼器資訊清單建立關聯。

1. 輸入車輛的唯一名稱。
**重要**  
車輛對應至 AWS IoT 物件。如果已存在使用該名稱的物件，請選擇**將車輛與 IoT 物件建立關聯**，以更新該物件與車輛。或者，選擇不同的車輛名稱， AWS IoT FleetWise 會自動為車輛建立新的物件。

1. 從清單中選擇車輛模型 （模型資訊清單）。

1. 從清單中選擇解碼器資訊清單。解碼器資訊清單與車輛模型相關聯。

1. （選用） 若要關聯車輛屬性，請選擇**新增屬性**。如果您略過此步驟，您必須在建立車輛之後新增屬性，才能將其部署到行銷活動。

1. （選用） 若要將標籤與車輛建立關聯，請選擇**新增標籤**。您也可以在建立車輛後新增標籤。

1. 選擇**下一步**。

### 步驟 2：設定車輛憑證
<a name="define-vehicle-certificate-console"></a>

若要使用 車輛做為 AWS IoT 物件，您必須設定已連接政策的車輛憑證。如果您略過此步驟，則必須在建立車輛之後設定憑證，才能將其部署到行銷活動。

1. 選擇**自動產生新憑證 （建議）**。

1. 選擇**下一步**。

### 步驟 3：將政策連接至憑證
<a name="attach-vehicle-policy-console"></a>

將政策連接至您在上一個步驟中設定的憑證。

1. 針對**政策**，輸入現有的政策名稱。若要建立新的政策，請選擇**建立政策**。

1. 選擇**下一步**。

### 步驟 4：檢閱和建立
<a name="review-and-create-vehicle-console"></a>

驗證車輛的組態，然後選擇**建立車輛**。

**重要**  
建立車輛後，您必須下載憑證和金鑰。您將使用憑證和私有金鑰，在 Edge Agent for AWS IoT FleetWise 軟體中連接車輛。

## 建立車輛 (AWS CLI)
<a name="create-vehicle-cli"></a>

建立車輛時，您必須使用與解碼器資訊清單相關聯的車輛模型。您可以使用 [CreateVehicle](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_CreateVehicle.html) API 操作來建立車輛。下列為使用 AWS CLI的範例。

若要建立 車輛，請執行下列命令。

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

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

**Example – 車輛組態**  
+ （選用） `associationBehavior`值可以是下列其中一項：
  + `CreateIotThing` – 建立車輛時， AWS IoT FleetWise 會自動為車輛建立具有車輛 ID 名稱的 AWS IoT 物件。
  + `ValidateIotThingExists` – 使用現有 AWS IoT 物件來建立車輛。

    若要建立 AWS IoT 物件，請執行下列命令。將 *thing-name* 取代為您要建立的物件名稱。

    ```
    aws iot create-thing --thing-name thing-name
    ```

  如果未指定， AWS IoT FleetWise 會自動為您的車輛建立 AWS IoT 物件。
**重要**  
請確定在建立車輛後佈建 AWS IoT 物件。如需詳細資訊，請參閱[Provision AWS IoT FleetWise 車輛](provision-vehicles.md)。
+ 以下列其中一項取代 *vehicle-name*。
  + 如果 `associationBehavior`設定為 ，您的 AWS IoT 物件名稱`ValidateIotThingExists`。
  + 如果 `associationBehavior` 設定為 ，則要建立的車輛 ID`CreateIotThing`。

    車輛 ID 可以有 1-100 個字元。有效字元：a–z、A–Z、0–9、破折號 (‐)、底線 (\$1) 和冒號 (：)。
+ 將 *model-manifest-ARN* 取代為您車輛模型的 ARN （模型資訊清單）。
+ 將 *decoder-manifest-ARN* 取代為與指定車輛模型相關聯之解碼器資訊清單的 ARN。
+ （選用） 您可以新增其他屬性，以區分此車輛與從相同車輛模型建立的其他車輛。例如，如果您有電動汽車，您可以為 屬性指定下列值：`{"fuelType": "electric"}`。
**重要**  <a name="update-attributes-requirement"></a>
屬性必須在相關聯的車輛模型中定義，才能將其新增至個別車輛。

```
{
    "associationBehavior": "associationBehavior",
    "vehicleName": "vehicle-name", 
    "modelManifestArn": "model-manifest-ARN",
    "decoderManifestArn": "decoder-manifest-ARN",           
    "attributes": {
        "key": "value"
    }
}
```

**Example – 將狀態範本與車輛建立關聯**  
您可以使用 `stateTemplates` 欄位，將[狀態範本](state-templates.md)與車輛建立關聯，以允許從雲端中的車輛收集狀態更新。  
在此範例中， `stateTemplateUpdateStrategy` 可以是下列其中一項：  
+ `periodic`：可讓您指定 Edge Agent 軟體將訊號更新傳送到雲端的固定速率 （即使訊號值未在更新之間變更，Edge Agent 軟體也會傳送更新）。
+ `onChange`：Edge Agent 軟體會在訊號變更時傳送訊號更新。

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

```
{
    "associationBehavior": "associationBehavior",
    "vehicleName": "vehicle-name", 
    "modelManifestArn": "model-manifest-ARN",
    "decoderManifestArn": "decoder-manifest-ARN",           
    "attributes": {
        "key": "value"
    },
    "stateTemplates": [ 
        {
            "identifier": "state-template-name",
            "stateTemplateUpdateStrategy": {
                "periodic": {
                    "stateTemplateUpdateRate": {
                        "unit": "SECOND",
                        "value": 10
                    }
                }
            }
        }
    ]
}
```

如果您使用客戶受管 AWS KMS 金鑰[啟用加密](key-management.md)，請包含下列政策陳述式，讓您的角色可以叫用 `CreateVehicle` 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"
            ]
        }
    ]
}
```

------

# 建立多個 AWS IoT FleetWise 車輛
<a name="create-vehicles-cli"></a>

您可以使用 [BatchCreateVehicle](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_BatchCreateVehicle.html) API 操作一次建立多部車輛。下列為使用 AWS CLI的範例。

若要建立多部車輛，請執行下列命令。

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

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

**Example – 車輛組態**  

```
{
    "vehicles": [
        {
                "associationBehavior": "associationBehavior",
                "vehicleName": "vehicle-name", 
                "modelManifestArn": "model-manifest-ARN",
                "decoderManifestArn": "decoder-manifest-ARN",           
                "attributes": {
                    "key": "value"
                }
        },
        {
                "associationBehavior": "associationBehavior",
                "vehicleName": "vehicle-name", 
                "modelManifestArn": "model-manifest-ARN",
                "decoderManifestArn": "decoder-manifest-ARN",           
                "attributes": {
                    "key": "value"                           
                }
        }
    ]
}
```

您可以為每個批次操作建立最多 10 部車輛。如需車輛組態的詳細資訊，請參閱 [建立 AWS IoT FleetWise 車輛](create-vehicle.md)。

如果您使用客戶受管 AWS KMS 金鑰[啟用加密](key-management.md)，請包含下列政策陳述式，讓您的角色可以叫用 `BatchCreateVehicle` 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"
            ]
        }
    ]
}
```

------

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

------

# 更新多個 AWS IoT FleetWise 車輛
<a name="update-vehicles-cli"></a>

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

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

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

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

**Example – 車輛組態**  

```
{
   "vehicles": [ 
      { 
         "vehicleName": "vehicle-name",
         "modelManifestArn": "model-manifest-arn",         
         "decoderManifestArn": "decoder-manifest-arn",         
         "mergeAttributes": true,         
         "attributes": {                    
         "key": "value"
         }     
      }, 
      { 
         "vehicleName": "vehicle-name",         
         "modelManifestArn": "model-manifest-arn",         
         "decoderManifestArn": "decoder-manifest-arn",         
         "mergeAttributes": true,         
         "attributes": {                     
         "key": "value"
         }     
      }
   ]
}
```

每個批次操作最多可以更新 10 部車輛。如需每部車輛組態的詳細資訊，請參閱 [更新 an AWS IoT FleetWise 車輛](update-vehicle-cli.md)。

如果您使用客戶受管 AWS KMS 金鑰[啟用加密](key-management.md)，請包含下列政策陳述式，讓您的角色可以叫用 `BatchUpdateVehicle` 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"
            ]
        }
    ]
}
```

------

# 刪除 AWS IoT FleetWise 車輛
<a name="delete-vehicle"></a>

您可以使用 AWS IoT FleetWise 主控台或 API 來刪除車輛。

**重要**  
刪除車輛後， AWS IoT FleetWise 會自動從相關聯的機群和行銷活動中移除車輛。如需詳細資訊，請參閱[在 AWS IoT FleetWise 中管理機群](fleets.md)及[使用行銷活動收集 AWS IoT FleetWise 資料](campaigns.md)。不過，車輛仍以物件形式存在，或仍與物件相關聯 AWS IoT Core。如需刪除物件的指示，請參閱[《 開發人員指南》中的刪除物件](https://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html#delete-thing)。 *AWS IoT Core *

## 刪除車輛 （主控台）
<a name="delete-vehicle-console"></a>

您可以使用 AWS IoT FleetWise 主控台來刪除車輛。

**刪除車輛**

1. <a name="fleetwise-open-console"></a>開啟 [AWS IoT FleetWise 主控台](https://console.aws.amazon.com/iotfleetwise)。

1. 在導覽窗格中，選擇 **車輛**。

1. 在 **車輛**頁面上，選取您要刪除之車輛旁的按鈕。

1. 選擇 **刪除**。

1. 在**刪除 **vehicle-name****中，輸入車輛名稱，然後選擇**刪除**。

## 刪除車輛 (AWS CLI)
<a name="delete-vehicle-cli"></a>

您可以使用 [DeleteVehicle](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_DeleteVehicle.html) API 操作來刪除車輛。下列範例使用 AWS CLI。

若要刪除車輛，請執行下列命令。

將 *vehicle-name* 取代為您要刪除之車輛的 ID。

```
aws iotfleetwise delete-vehicle --vehicle-name vehicle-name
```

### 驗證車輛刪除
<a name="verify-vehicle-deletion"></a>

您可以使用 [ListVehicles](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_ListVehicles.html) API 操作來驗證是否已刪除車輛。下列為使用 AWS CLI的範例。

若要擷取所有車輛的分頁摘要清單，請執行下列命令。

```
aws iotfleetwise list-vehicles
```

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

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

****  

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

------

# Get AWS IoT FleetWise 車輛資訊
<a name="get-vehicle-information-cli"></a>

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

您可以使用 [GetVehicle](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_GetVehicle.html) API 操作來擷取車輛資訊。下列為使用 AWS CLI的範例。

若要擷取車輛的中繼資料，請執行下列命令。

將 *vehicle-name* 取代為您要擷取之車輛的 ID。

```
aws iotfleetwise get-vehicle --vehicle-name vehicle-name
```

**注意**  
此操作為[最終一致](https://web.stanford.edu/class/cs345d-01/rl/eventually-consistent.pdf)。換句話說，可能不會立即反映對車輛的變更。

您可以使用 [GetVehicleStatus](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_GetVehicleStatus.html) API 操作來擷取與車輛相關聯的資源狀態。下列為使用 AWS CLI的範例。

若要擷取與車輛相關聯的資源狀態，請執行下列命令。
+ 將 *vehicle-name* 取代為與資源相關聯的 車輛 ID。
+ 將*類型*取代為您要擷取其狀態的資源類型。`type` 的有效值為 `CAMPAIGN`、`STATE_TEMPLATE` 和 `DECODER`。

```
aws iotfleetwise get-vehicle-status --vehicle-name vehicle-name --type type
```

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

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

****  

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

------