

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

# 建立 an AWS IoT FleetWise 行銷活動
<a name="create-campaign"></a>

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

您可以使用 AWS IoT FleetWise 主控台或 API 建立行銷活動來收集車輛資料。

**重要**  
若要讓您的行銷活動運作，您必須具備下列項目：  
Edge Agent 軟體正在您的 車輛中執行。如需如何開發、安裝和使用 Edge Agent 軟體的詳細資訊，請執行下列動作：  
開啟 [AWS IoT FleetWise 主控台](https://console.aws.amazon.com/iotfleetwise)。
在服務首頁的**開始使用 AWS IoT FleetWise** 區段中，選擇**探索邊緣代理**程式。
您已設定 AWS IoT Core 來佈建您的 車輛。如需詳細資訊，請參閱[Provision AWS IoT FleetWise 車輛](provision-vehicles.md)。

**Topics**
+ [建立行銷活動 （主控台）](#create-campaign-console)
+ [建立行銷活動 (AWS CLI)](#create-campaign-cli)
+ [AWS IoT FleetWise 行銷活動的邏輯表達式](logical-expression.md)

## 建立行銷活動 （主控台）
<a name="create-campaign-console"></a>

使用 AWS IoT FleetWise 主控台建立行銷活動，以選取、收集車輛資料並將其傳輸至雲端。

**建立行銷活動**

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

1. <a name="choose-campaigns"></a>在導覽窗格中，選擇**行銷活動**。

1. 在**行銷活動**頁面上，選擇**建立行銷活動**，然後完成下列主題中的步驟。

**Topics**
+ [步驟 1：設定行銷活動](#configure-campaign-console)
+ [步驟 2：指定儲存和上傳條件](#specify-storage-upload-conditions)
+ [步驟 3：設定資料目的地](#configure-data-collection-scheme-console)
+ [步驟 4：新增車輛](#add-attributes-console)
+ [步驟 4：檢閱和建立](#review-and-create-campaign-console)
+ [步驟 6：部署行銷活動](#update-campaign-console)

**重要**  
您必須先擁有訊號目錄和車輛，才能建立行銷活動。如需詳細資訊，請參閱[Manage AWS IoT FleetWise 訊號目錄](signal-catalogs.md)及[Manage AWS IoT FleetWise 車輛](vehicles.md)。
建立行銷活動後，您必須核准行銷活動。如需詳細資訊，請參閱[更新 an AWS IoT FleetWise 行銷活動](update-campaign-cli.md)。

### 步驟 1：設定行銷活動
<a name="configure-campaign-console"></a>

在**一般資訊**中，執行下列動作：

1. 輸入行銷活動的名稱。

1. (選用) 輸入描述。

設定行銷活動的資料收集結構描述。資料收集方案為 Edge Agent 軟體提供有關要收集哪些資料或何時收集資料的說明。在 AWS IoT FleetWise 主控台中，您可以透過下列方式設定資料收集方案：
+ 手動定義資料收集結構描述。
+ 上傳檔案以自動定義資料收集方案。

在**組態選項**中，選擇下列其中一項：
+ 若要手動指定資料收集結構描述的類型並定義自訂結構描述的選項，請選擇**定義資料收集結構描述**。

#### 手動定義資料收集結構描述
<a name="manually-define-scheme-console"></a>

  手動指定資料收集結構描述的類型，並定義自訂結構描述的選項。

  1. 在**資料收集方案詳細資訊**區段中，選擇您希望此行銷活動使用的資料收集方案類型。若要使用邏輯表達式來辨識要收集的車輛資料，請選擇**條件型**。若要使用特定時段來決定收集車輛資料的頻率，請選擇以**時間為基礎**。

  1. 定義行銷活動收集資料的持續時間。
**注意**  
根據預設，核准的行銷活動會立即啟用，而且沒有設定的結束時間。若要避免額外費用，您必須指定時間範圍。

  1. 如果您指定條件式資料收集方案，則必須定義邏輯表達式來識別要收集哪些資料。 AWS IoT FleetWise 使用邏輯表達式來識別條件式方案要收集哪些資料。表達式必須將訊號的完整名稱指定為變數、比較運算子和比較值。

     例如，如果您指定`$variable.`myVehicle.InVehicleTemperature` > 50.0`表達式， AWS IoT FleetWise 會收集大於 50.0 的溫度值。如需如何撰寫表達式的說明，請參閱 [AWS IoT FleetWise 行銷活動的邏輯表達式](logical-expression.md)。

     輸入用來辨識要收集哪些資料的邏輯表達式。

  1. （選用） 指定條件式表達式的語言版本。預設值為 1.

  1. （選用） 指定最短觸發間隔，這是兩個資料收集事件之間的最短持續時間。例如，如果訊號經常變更，您可能想要以較慢的速度收集資料。

  1. 指定 Edge Agent 軟體收集資料的**觸發模式**條件。根據預設，Edge Agent for AWS IoT FleetWise 軟體**一律**會在符合條件時收集資料。或者，它只能在第一次符合條件時收集資料，**即第一次觸發時**。

  1. 如果您指定以時間為基礎的資料收集方案，則必須指定從 10，000 - 60，000 毫秒的**時段**，以毫秒為單位。邊緣代理程式軟體會使用時段來決定收集資料的頻率。

  1. （選用） 編輯方案的**進階方案選項**。

     1. 若要透過壓縮資料來節省無線頻寬並減少網路流量，請選擇 **Snappy**。

     1. （選用） 若要定義資料收集事件後繼續收集資料的時間，以毫秒為單位，您可以指定**觸發後收集持續時間**。

     1. （選用） 若要指出行銷活動的優先順序，請指定行銷活動**優先順序**。優先順序較小的行銷活動會先部署，並視為具有較高的優先順序。

     1. 當車輛未連線至雲端時，Edge Agent 軟體可以在本機暫時存放資料。重新建立連線後，本機儲存的資料會自動傳輸至雲端。指定您是否希望 Edge 代理程式在連線中斷期間將**資料儲存在本機**。

     1. （選用） 若要提供訊號的其他資訊，請將最多五個屬性新增為**額外資料維度**。
+ 若要上傳檔案以定義資料收集方案，請選取**從本機裝置上傳 .json 檔案**。 AWS IoT FleetWise 會自動定義您可以在 檔案中定義的選項。您可以檢閱和更新選取的選項。

#### 匯入檔案以定義資料收集結構描述
<a name="import-file-scheme-console"></a>

  上傳包含資料收集方案詳細資訊的 .json 檔案。

  1. 若要匯入資料收集方案的相關資訊，請選擇**選擇檔案**。如需所需檔案格式的詳細資訊，請參閱 [CreateCampaign](https://docs.aws.amazon.com//iot-fleetwise/latest/APIReference/API_CreateCampaign.html#API_CreateCampaign) API 文件。
**注意**  
AWS IoT FleetWise 目前支援 .json 檔案格式副檔名。

  1.  AWS IoT FleetWise 會根據檔案中的資訊自動定義資料收集方案。檢閱 AWS IoT FleetWise 為您選取的選項。您可以視需要更新選項。

### 步驟 2：指定儲存和上傳條件
<a name="specify-storage-upload-conditions"></a>

若要選擇 Edge Agent 軟體是否在車輛未連線至雲端時暫時將資料存放在本機，請指定多工緩衝處理模式。
+ 在**資料多工緩衝處理模式中**，選擇下列其中一項：
  + **未儲存** – Edge Agent 軟體會收集資料，但不會在車輛離線時暫時將資料存放在本機。當車輛重新連線時， Edge Agent 軟體會將資料傳輸到雲端。
  + **存放至磁碟** – Edge Agent 軟體會在車輛離線時收集資料，並在本機暫時存放資料。收集的資料會暫時存放在 Edge Agent 組態檔案「持久性」區段所定義的位置。當車輛重新連線時，Edge Agent 會將資料傳輸到雲端。
  + **存放到具有分割區的磁碟** – 車輛一律會將資料暫時存放在您指定資料分割區的 Edge 上。您可以選擇何時將儲存的資料轉送至雲端。

    1. （選用） 輸入分割區 ID 以指定特定資料集。

    1. 輸入資料夾名稱做為將存放資料的位置。儲存位置的絕對路徑為 `{persistency_path} / {vehicle_name} / {campaign_name} / {storage_location}`。

    1. 輸入存放在分割區中資料的儲存大小上限。當分割區達到大小上限時，較新的資料會覆寫較舊的資料。

    1. 輸入此分割區中的資料將保留在磁碟上的最短時間。

    1. （選用） 輸入分割區的上傳條件。

#### 指定訊號
<a name="specify-signals-console"></a>

您可以指定要在行銷活動期間從 收集資料的訊號。

**指定要從 收集資料的訊號**

1. 選取**訊號名稱**。

1. （選用） 針對**最大範例計數**，輸入 Edge Agent 軟體在行銷活動期間收集並傳輸至雲端的資料範例數目上限。

1. （選用） 對於**最短取樣間隔**，輸入兩個資料範例收集事件之間的最短持續時間，以毫秒為單位。如果訊號經常變更，您可以使用此參數以較慢的速度收集資料。

1. 若要新增另一個訊號，請選擇**新增更多訊號**。您最多可以新增 999 個訊號。

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

### 步驟 3：設定資料目的地
<a name="configure-data-collection-scheme-console"></a>

**注意**  
如果行銷活動包含視覺系統資料訊號，您只能將車輛資料存放在 Amazon S3 中。您無法將其存放在 Timestream 中，或將其傳送至 MQTT 主題。  
視覺系統資料處於預覽版本，可能會有所變更。  
Amazon Timestream 不適用於亞太區域 （孟買） 區域。

選擇您要傳送或存放行銷活動所收集的資料的目的地。您可以將車輛資料傳送至 MQTT 主題，或將其存放在 Amazon S3 或 Amazon Timestream 中。

在**目的地設定**中，執行下列動作：
+ 從下拉式清單中選擇 Amazon S3、Amazon Timestream 或 MQTT 主題。

#### Amazon S3
<a name="S3-destination"></a>

**重要**  
如果 AWS IoT FleetWise 具有寫入 S3 儲存貯體的許可，您只能將資料傳輸至 S3。如需授予存取權的詳細資訊，請參閱[使用 AWS IoT FleetWise 控制存取權](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/controlling-access.html)。

若要將車輛資料儲存在 S3 儲存貯體中，請選擇 **Amazon S3**。S3 是一種物件儲存服務，可將資料儲存為儲存貯體中的物件。如需詳細資訊，請參閱《[Amazon Simple Storage Service 使用者指南》中的建立、設定和使用 Amazon S3 儲存貯](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html)體。 **

S3 可最佳化資料儲存的成本，並提供其他機制來使用車輛資料，例如資料湖、集中式資料儲存、資料處理管道和分析。您可以使用 S3 來存放資料以進行批次處理和分析。例如，您可以為機器學習 (ML) 模型建立硬中斷事件的報告。傳入的車輛資料會在交付前緩衝 10 分鐘。

在 **S3 目的地設定**中，執行下列動作：

1. 針對 **S3 儲存貯**體，選擇具有 許可的儲存 AWS IoT FleetWise 貯體。

1. （選用） 輸入自訂字首，可用來組織存放在 S3 儲存貯體中的資料。

1. 選擇輸出格式，這是儲存為 S3 儲存貯體中的格式檔案。

1. 選擇是否要將存放在 S3 儲存貯體中的資料壓縮為 .gzip 檔案。我們建議您壓縮資料，因為它可將儲存成本降至最低。

1. 您在 **S3 目的地設定**中選取的選項會變更**範例 S3 物件 URI**。這是在 S3 中將哪些檔案儲存為 的範例。

#### Amazon Timestream
<a name="Timestream-destination"></a>

**重要**  
只有在 AWS IoT FleetWise 具有將資料寫入 Timestream 的許可時，您才能將資料傳輸至資料表。如需授予存取權的詳細資訊，請參閱[使用 AWS IoT FleetWise 控制存取權](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/controlling-access.html)。  
Amazon Timestream 不適用於亞太區域 （孟買） 區域。

若要將車輛資料儲存在 Timestream 資料表中，請選擇 **Amazon Timestream**。您可以使用 Timestream 查詢車輛資料，以便識別趨勢和模式。例如，您可以使用 Timestream 為車輛油位建立警示。傳入的車輛資料會以近乎即時的方式傳輸至 Timestream。如需詳細資訊，請參閱《[Amazon Timestream 開發人員指南》中的什麼是 Amazon Timestream？](https://docs.aws.amazon.com/timestream/latest/developerguide/what-is-timestream.html)。 **

在 **Timestream 資料表設定**中，執行下列動作：

1. 對於 **Timestream 資料庫名稱**，從下拉式清單中選擇 Timestream 資料庫的名稱。

1. 對於 **Timestream 資料表名稱**，從下拉式清單中選擇 Timestream 資料表的名稱。

在 **Timestream 的服務存取**中，執行下列動作：
+ 從下拉式清單中選擇 IAM 角色。

#### MQTT 主題
<a name="MQTT-destination"></a>

**重要**  
如果 AWS IoT FleetWise 具有主題的許可，您只能將資料路由到 MQTT AWS IoT 主題。如需授予存取權的詳細資訊，請參閱[使用 AWS IoT FleetWise 控制存取權](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/controlling-access.html)。

若要將車輛資料傳送至 MQTT 主題，請選擇 **MQTT 主題**。

MQTT 訊息傳送的車輛資料會以近乎即時的方式交付，並可讓您使用規則來採取行動，或將資料路由至其他目的地。如需使用 MQTT 的詳細資訊，請參閱《 *AWS IoT Core 開發人員指南*》中的 [裝置通訊協定](https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html)和 [的規則 AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html)。

1. 在 **MQTT 主題**下，輸入**主題名稱**。

1. 在 **MQTT 服務存取主題**下，選擇您是否要讓 AWS IoT FleetWise **Create 為您使用新的服務角色**。如果您想要**使用現有的服務角色**，請在選取角色下的下拉式清單中選取**角色**。
+ 選擇**下一步**。

### 步驟 4：新增車輛
<a name="add-attributes-console"></a>

若要選擇要部署行銷活動的車輛，請在車輛清單中選取它們。透過搜尋您在建立車輛時新增的屬性及其值，或依車輛名稱來篩選車輛。

在**篩選車輛**中，執行下列動作：

1. 在搜尋方塊中，尋找屬性或車輛名稱，然後從清單中選擇。
**注意**  
每個屬性只能使用一次。

1. 輸入您要部署行銷活動的屬性或車輛名稱的值。例如，如果屬性的完整名稱為 `fuelType`，請輸入 `gasoline`做為其值。

1. 若要搜尋其他車輛屬性，請重複上述步驟。您可以搜尋最多五個車輛屬性和無限數量的車輛名稱。

1. 符合您搜尋的車輛會列在**車輛名稱**下。選擇您要部署行銷活動的車輛。
**注意**  
搜尋結果中最多可顯示 100 部車輛。選擇**全選**，將所有車輛新增至行銷活動。

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

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

驗證行銷活動的組態，然後選擇**建立行銷活動**。

**注意**  
建立行銷活動後，您或您的團隊必須將行銷活動部署到 車輛。

### 步驟 6：部署行銷活動
<a name="update-campaign-console"></a>

建立行銷活動後，您或您的團隊必須將行銷活動部署到 車輛。

**部署行銷活動**

1. 在**行銷活動摘要**頁面上，選擇**部署**。

1. 檢閱並確認您想要開始部署，並開始從連線至行銷活動的車輛收集資料。

1. 選擇**部署**。

如果您想要暫停從連線至行銷活動的車輛收集資料，請在**行銷活動摘要**頁面上選擇**暫停**。若要繼續從連線至行銷活動的車輛收集資料，請選擇**繼續**。



## 建立行銷活動 (AWS CLI)
<a name="create-campaign-cli"></a>

您可以使用 [CreateCampaign](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_CreateCampaign.html) API 操作來建立行銷活動。下列為使用 AWS CLI的範例。

當您建立行銷活動時，從車輛收集的資料可以傳送到 MQTT 主題，或存放在 Amazon S3 (S3) 或 Amazon Timestream 中。選擇 Timestream 以取得快速、可擴展且無伺服器的時間序列資料庫，例如存放需要近乎即時處理的資料。針對具有業界領先可擴展性、資料可用性、安全性和效能的物件儲存選擇 S3。選擇 MQTT 以近乎即時的方式交付資料，並使用 [的規則 AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html)來執行您定義或路由資料至其他目的地的動作。

**重要**  
如果 AWS IoT FleetWise 具有代表您傳送 MQTT 訊息的許可，或將資料寫入 SAmazon S3 或 Timestream，您只能將車輛資料傳輸至 MQTT 主題、Amazon S3 或 Amazon Timestream。 S3 如需授予存取權的詳細資訊，請參閱[使用 AWS IoT FleetWise 控制存取權](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/controlling-access.html)。  
Amazon Timestream 不適用於亞太區域 （孟買） 區域。

### 建立行銷活動
<a name="create-campaign-command"></a>

**重要**  
建立行銷活動之前，您必須擁有訊號目錄和車輛或機群。如需詳細資訊，請參閱[Manage AWS IoT FleetWise 訊號目錄](signal-catalogs.md)、[Manage AWS IoT FleetWise 車輛](vehicles.md)及[在 AWS IoT FleetWise 中管理機群](fleets.md)。
建立行銷活動後，您必須使用 `UpdateCampaign` API 操作來核准行銷活動。如需詳細資訊，請參閱[更新 an AWS IoT FleetWise 行銷活動](update-campaign-cli.md)

若要建立行銷活動，請執行下列命令。

將 *file-name* 取代為包含行銷活動組態的 .json 檔案名稱。

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

#### S3 的範例組態檔案
<a name="example-configuration-file-s3"></a>
+ 將 *campaign-name* 取代為您建立的行銷活動名稱。
+ 將 *signal-catalog-arn* 取代為訊號目錄的 Amazon Resource Name (ARN)。
+ 將 *target-arn* 取代為您建立的機群或車輛的 ARN。
+ 將 *bucket-arn* 取代為 S3 儲存貯體的 ARN。

```
{
    "name": "campaign-name",
    "targetArn": "target-arn", 
    "signalCatalogArn": "signal-catalog-arn", 
    "collectionScheme": {
        "conditionBasedCollectionScheme": {
            "conditionLanguageVersion": 1,
            "expression": "$variable.`Vehicle.DemoBrakePedalPressure` > 7000",
            "minimumTriggerIntervalMs": 1000,
            "triggerMode": "ALWAYS"
        }
    },
    "compression": "SNAPPY",
    "diagnosticsMode": "OFF",
    "postTriggerCollectionDuration": 1000,
    "priority": 0,
    "signalsToCollect": [
        {
         "maxSampleCount": 100,
         "minimumSamplingIntervalMs": 0,
         "name": "Vehicle.DemoEngineTorque"
        },
        {
         "maxSampleCount": 100,
         "minimumSamplingIntervalMs": 0,
         "name": "Vehicle.DemoBrakePedalPressure"
        }
    ],
    "spoolingMode": "TO_DISK",
    "dataDestinationConfigs": [
        {
         "s3Config": { 
             "bucketArn": "bucket-arn",
             "dataFormat": "PARQUET",
             "prefix": "campaign-name",
              "storageCompressionFormat": "GZIP"
      }
    }
  ],
     "dataPartitions": [ 
      { ...  }
  ]
}
```

#### Timestream 的範例組態檔案
<a name="example-configuration-file-ts"></a>

**注意**  
Amazon Timestream 不適用於亞太區域 （孟買） 區域。
+ 將 *campaign-name* 取代為您建立的行銷活動名稱。
+ 將 *signal-catalog-arn* 取代為訊號目錄的 ARN。
+ 將 *target-arn* 取代為您建立的機群或車輛的 ARN。
+ 將 *role-arn* 取代為任務執行角色的 ARN，該角色授予 AWS IoT FleetWise 將資料交付至 Timestream 資料表的許可。
+ 將 *table-arn* 取代為 Timestream 資料表的 ARN。

```
{
  "name": "campaign-name",
  "targetArn": "target-arn",
  "signalCatalogArn": "signal-catalog-arn",
  "collectionScheme": {
    "conditionBasedCollectionScheme": {
      "conditionLanguageVersion": 1,
      "expression": "$variable.`Vehicle.DemoBrakePedalPressure` > 7000",
      "minimumTriggerIntervalMs": 1000,
      "triggerMode": "ALWAYS"
    }
  },
  "compression": "SNAPPY",
  "diagnosticsMode": "OFF",
  "postTriggerCollectionDuration": 1000,
  "priority": 0,
  "signalsToCollect": [
    {
      "maxSampleCount": 100,
      "minimumSamplingIntervalMs": 0,
      "name": "Vehicle.DemoEngineTorque"
    },
    {
      "maxSampleCount": 100,
      "minimumSamplingIntervalMs": 0,
      "name": "Vehicle.DemoBrakePedalPressure"
    }
  ],
  "spoolingMode": "TO_DISK",
  "dataDestinationConfigs": [
    {
      "timestreamConfig": {
        "executionRoleArn": "role-arn",
        "timestreamTableArn": "table-arn"
      }
    }
  ],
   "dataPartitions": [ 
      { ...  }
  ]
}
```

#### MQTT 主題的範例組態檔案
<a name="example-configuration-file-mqtt"></a>
+ 將 *campaign-name* 取代為您建立的行銷活動名稱。
+ 將 *signal-catalog-arn* 取代為訊號目錄的 Amazon Resource Name (ARN)。
+ 將 *target-arn* 取代為您建立的機群或車輛的 ARN。
+ 將 *topic-arn* 取代為您指定為包含車輛資料之訊息目的地的 [MQTT 主題](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) ARN。
+ 以授予 AWS IoT FleetWise 許可的任務執行角色 ARN 取代 *role-arn*，以傳送、接收您指定的 MQTT 主題的訊息並對其採取動作。

```
{
  "name": "campaign-name",
  "targetArn": "target-arn",
  "signalCatalogArn": "signal-catalog-arn",
  "collectionScheme": {
    "conditionBasedCollectionScheme": {
      "conditionLanguageVersion": 1,
      "expression": "$variable.`Vehicle.DemoBrakePedalPressure` > 7000",
      "minimumTriggerIntervalMs": 1000,
      "triggerMode": "ALWAYS"
    }
  },
  "compression": "SNAPPY",
  "diagnosticsMode": "OFF",
  "postTriggerCollectionDuration": 1000,
  "priority": 0,
  "signalsToCollect": [
    {
      "maxSampleCount": 100,
      "minimumSamplingIntervalMs": 0,
      "name": "Vehicle.DemoEngineTorque"
    },
    {
      "maxSampleCount": 100,
      "minimumSamplingIntervalMs": 0,
      "name": "Vehicle.DemoBrakePedalPressure"
    }
  ],
  "spoolingMode": "TO_DISK",
  "dataDestinationConfigs": [
      {
          "mqttTopicConfig": {
              "mqttTopicArn": "topic-arn",
              "executionRoleArn": "role-arn"
          }
      }
  ]
}
```

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

AWS IoT FleetWise 使用邏輯表達式來識別要在行銷活動中收集的資料。如需表達式的詳細資訊，請參閱《 *AWS IoT Events 開發人員指南*》中的[表達式](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html)。

運算式變數的建構應符合所收集資料類型的規則。對於遙測系統資料，表達式變數應該是訊號的完整名稱。對於視覺系統資料，表達式結合了訊號的完整名稱，以及從訊號資料類型到其中一個屬性的路徑。

例如，如果訊號目錄包含下列節點：

```
{
    myVehicle.ADAS.Camera:
    type: sensor
    datatype: Vehicle.ADAS.CameraStruct
    description: "A camera sensor"

    myVehicle.ADAS.CameraStruct:
    type: struct
    description: "An obstacle detection camera output struct"
}
```

如果節點遵循 ROS 2 定義：

```
{
    Vehicle.ADAS.CameraStruct.msg:
    boolean obstaclesExists
    uint8[] image
    Obstacle[30] obstacles
}
{
    Vehicle.ADAS.Obstacle.msg:
    float32: probability
    uint8 o_type
    float32: distance
}
```

以下是所有可能的 事件表達式變數：

```
{
...
    $variable.`myVehicle.ADAS.Camera.obstaclesExists`
    $variable.`myVehicle.ADAS.Camera.Obstacle[0].probability`
    $variable.`myVehicle.ADAS.Camera.Obstacle[1].probability`
...
    $variable.`myVehicle.ADAS.Camera.Obstacle[29].probability`
    $variable.`myVehicle.ADAS.Camera.Obstacle[0].o_type`
    $variable.`myVehicle.ADAS.Camera.Obstacle[1].o_type`
...
    $variable.`myVehicle.ADAS.Camera.Obstacle[29].o_type`
    $variable.`myVehicle.ADAS.Camera.Obstacle[0].distance`
    $variable.`myVehicle.ADAS.Camera.Obstacle[1].distance`
...
    $variable.`myVehicle.ADAS.Camera.Obstacle[29].distance`
}
```