

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

# 新增 AWS IoT SiteWise Edge 即時目的地
<a name="destinations-real-time"></a>

即時目的地類型可讓您將 IoT 資料直接從裝置和閘道串流到 AWS IoT SiteWise 儲存體。此選項非常適合需要立即擷取和處理資料的使用案例，而不需要批次處理或緩衝。每個閘道只能設定一個即時目的地，因為它會持續將資料串流到其中 AWS IoT SiteWise。

**注意**  
重複TQVs 可能會導致重複充電。

**新增即時目的地**

使用 AWS IoT SiteWise 主控台或 AWS CLI 將即時目的地新增至已啟用 SiteWise Edge MQTT 的閘道。

------
#### [ Console ]

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

1. 在導覽窗格中，選擇 **Edge 閘道**。

1. 選取您要新增目的地的閘道。

1. 在**目的地**區段中，選擇**新增目的地**。

1. 在**新增目的地**頁面上，輸入**目的地詳細資訊**：

   1. 目的地名稱欄位中**目的地的名稱**。

   1. 選取**目的地類型的****AWS IoT SiteWise 即時** 。

1. 透過將發佈順序設定為**先發佈較舊的資料**或**先發佈最新資料**，來設定閘道發佈**順序**。根據預設，閘道會先發佈最舊的資料。

1. 使用**最大批次等待時間**，設定發佈者在傳送一批資料之前等待的最長時間 AWS IoT SiteWise。此設定適用於每個別名。資料會存放在本機，直到：
   + 設定的時間已過，或
   + 別名收到 10 個time-quality-value(TQV) 項目

   無論符合哪種條件， 都會先觸發要傳送至雲端的批次。

1. 若要壓縮上傳的資料，請選取上傳**資料時啟用壓縮**核取方塊。讓閘道在上傳資料到雲端之前壓縮資料，可減少頻寬使用量。

1. 若要篩選出過期的發佈者資料，請選取**排除過期的資料**核取方塊。此選擇只會將作用中和目前的資料傳送至 AWS IoT SiteWise。

1. 在**截止期間**欄位中，輸入資料在您的資料集內應視為過期的頻率。您可以判斷資料是以分鐘或天數來計算。最短截止期間為五分鐘。最大截止期間為 7 天。

1. 選擇性地設定**本機儲存設定**：

   1. 設定**保留期間**頻率 – 閘道在本機存放超過截止期間的資料的時間。最短保留期間為一分鐘。

      最長保留期間為 30 天，且大於或等於輪換期間。

   1. 設定**輪換期間** – 儲存超過單一檔案之截止期間的資料時所指定的時間間隔。閘道會在每個輪換期間結束時，將一批資料傳輸到下列本機目錄：`/greengrass/v2/work/aws.iot.SiteWiseEdgePublisher/exports`。

      保留必須大於一分鐘並等於保留期間。

   1. 提供**儲存容量 (GB)** 值，以設定本機以 GB 儲存的資料大小上限。如果資料超過確定的本機儲存大小上限，閘道會先開始刪除最舊的資料。閘道會持續刪除，直到本機存放的資料大小等於或小於配額為止。

      儲存容量必須大於或等於 1 GB。

1. 將路徑篩選條件新增至目的地。如需詳細資訊，請參閱 [將路徑篩選條件新增至 AWS IoT SiteWise Edge 目的地](destinations-add-path-filters.md)。

如需詳細資訊，請參閱[目的地類型](gw-destinations.md#destination-types)。

------
#### [ AWS CLI ]

**Example ：建立新的 AWS IoT SiteWise 即時目的地**  
使用 [UpdateGatewayCapabilityConfiguration](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateGatewayCapabilityConfiguration.html) API 來設定發佈者。  
將 `capabilityNamespace` 參數設為 `iotsitewise:publisher:3`。  

```
{
    "sources": [
        {
            "type": "MQTT"
        }
    ],
    "destinations": [
        {
            "type": "SITEWISE_REALTIME",
            "name": "your-destination-name",
            "config": {
                "publishingOrder": "TIME_ORDER",
                "enableCompression": true,
                "maxBatchWaitTime": "10s"
            },
            "filters": [
                {
                    "type": "PATH",
                    "config": {
                        "paths": [
                            "#"
                        ]
                    }
                }
            ]
        }
    ]
}
```

若要更新現有的 AWS IoT SiteWise 即時目的地，請先使用 `DescribeGatewayCapabilityConfiguration` API 尋找 `destinationId`。

**Example ：更新 AWS IoT SiteWise 即時目的地**  
使用 [UpdateGatewayCapabilityConfiguration](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateGatewayCapabilityConfiguration.html) API 來設定發佈者。  
將 `capabilityNamespace` 參數設為 `iotsitewise:publisher:3`。  

```
{
    "sources": [
        {
            "type": "MQTT"
        }
    ],
    "destinations": [
        {
            "id": "your-existing-destination-id",
            "type": "SITEWISE_REALTIME",
            "name": "your-destination-name",
            "config": {
                "publishingOrder": "TIME_ORDER",
                "enableCompression": true,
                "dropPolicy": {
                    "cutoffAge": "7d",
                    "exportPolicy": {
                        "retentionPeriod": "7d",
                        "rotationPeriod": "6h",
                        "exportSizeLimitGB": 10
                    }
                },
                "maxBatchWaitTime": "10s"
            },
            "filters": [
                {
                    "type": "PATH",
                    "config": {
                        "paths": [
                            "#"
                        ]
                    }
                }
            ]
        }
    ]
}
```

下列組態選項專屬於使用 `iotsitewise:publisher:3` 命名空間的閘道。

`sources`  
定義將資料從工業設備傳輸到 的資料來源 AWS IoT SiteWise。對於啟用 MQTT 的閘道，請使用 `MQTT`。  
類型： 物件陣列  
必要：是

`destinations`  
定義傳送資料的位置。目的地是即時的或使用 Amazon S3 緩衝。至少需要一個目的地物件，但您可以新增空陣列。您可以為每個閘道有一個即時目的地。如需詳細資訊，請參閱[了解 AWS IoT SiteWise Edge 目的地](gw-destinations.md#source-destination)。  
類型： 物件陣列  
必要：是    
`id`  
目的地的唯一識別符。您可以提供現有的目的地 ID 或將其保留空白。如果您未指定 ID，則預設會產生 UUID。  
類型：字串  
必要：否  
`type`  
目的地類型。選項包括： `SITEWISE_REALTIME`和 `SITEWISE_BUFFERED`。  
+ `SITEWISE_REALTIME` – 即時將資料直接傳送到 AWS IoT SiteWise 儲存體。
+ `SITEWISE_BUFFERED` – 以 Parquet 格式批次傳送資料至 Amazon S3，然後匯入至 AWS IoT SiteWise 儲存體。
類型：字串  
必要：是  
`name`  
目的地的唯一名稱。  
類型：字串  
必要：是  
`config`  
目的地類型特定的 JSON 格式組態。組態會因即時和緩衝目的地而有所不同。  
類型：物件  
必要：是    
publishingOrder  
決定資料發佈的順序。資料會根據其時間戳記發佈。選項包括 `TIME_ORDER`和 `RECENT_DATA`。  
+ `TIME_ORDER` （預設） – 先發佈較舊的資料。
+ `RECENT_DATA` – 先發佈最新的資料。
類型：字串  
必要：否  
enableCompression  
設定為 時`true`， 會在傳送至 之前啟用資料壓縮 AWS IoT SiteWise。讓閘道在上傳資料到雲端之前壓縮資料，可降低頻寬使用量。預設值為 `true`。  
類型：布林值  
必要：否  
dropPolicy  
定義如何處理較舊的資料。  
類型：物件  
必要：否  
+ `cutoffAge`

  以天、小時和分鐘為單位指定要發佈的資料最長存留期。例如 `7d` 或 `1d7h16m`。不會傳送比您指定內容更舊的資料 AWS IoT SiteWise。

  早於截止期間的資料不會發佈至雲端。截止時間必須介於 5 分鐘到 7 天之間。

  當您指定截止存留期`d`時`m`，可以使用 `h`、 和 。請注意， `m`代表分鐘， `h` 代表小時， `d`代表天數。

  類型：字串

  必要：是
+ `exportPolicy`

  定義如何處理超過截止期限的資料。

  類型：物件

  必要：否
  + `retentionPeriod`

    儲存指定保留期間之後，您的 SiteWise Edge 閘道會從本機儲存體刪除邊緣早於截止期間的任何資料。保留期間必須介於一分鐘到 30 天之間，且大於或等於輪換期間。

    您可以在指定保留期間`d`時使用 `m``h`、 和 。請注意， `m`代表分鐘， `h` 代表小時， `d`代表天數。

    類型：字串

    必要：否
  + `rotationPeriod`

    將早於截止期間的資料批次儲存到單一檔案的時間間隔。SiteWise Edge 閘道會在每個輪換期間結束時，將一批資料傳輸到下列本機目錄：`/greengrass/v2/work/aws.iot.SiteWiseEdgePublisher/exports`。輪換期間必須大於一分鐘，且等於或小於保留期間。

    您可以在指定輪換期間`d`時使用 `m``h`、 和 。請注意， `m`代表分鐘， `h` 代表小時， `d`代表天數。

    類型：字串

    必要：否
  + `exportSizeLimitGB`

    本機儲存的資料允許大小上限，以 GB 為單位。如果違反此配額，SiteWise Edge 閘道會開始刪除最早的資料，直到本機存放的資料大小等於或小於配額為止。此參數的值必須大於或等於 1。

    類型：整數

    必要：否  
`maxBatchWaitTime`  
設定發佈者在傳送一批資料之前等待的最長時間 AWS IoT SiteWise。此設定適用於每個別名。資料會存放在本機，直到：  
+ 設定的時間已過，或 
+ 別名收到 10 個time-quality-value(TQV) 項目
使用 `m`、 `h`和 `d`來指定截止時間。請注意， `m`代表分鐘， `h` 代表小時， `d`代表天數。  
類型：字串  
必要：否

`filters`  
要套用至資料的篩選條件。至少需要一個篩選條件。  
類型：字串  
必要：是    
`type`  
篩選條件類型。請使用 `PATH`。  
類型：字串  
必要：是  
`config`  
JSON 格式的篩選條件類型特定組態。至少需要一個物件，但陣列可以是空的。  
類型：物件  
必要：是  
+ `paths`

  路徑篩選條件的陣列。如需詳細資訊，請參閱[了解 AWS IoT SiteWise Edge 目的地的路徑篩選條件了解路徑篩選條件](gw-destinations.md#destinations-path-filters)。預設路徑為 `#`。

  類型：字串陣列

  必要：是

------