

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

# 使用 Amazon S3 新增 AWS IoT SiteWise 緩衝目的地
<a name="destinations-buffered"></a>

如果您 AWS IoT SiteWise 不需要即時資料，緩衝目的地類型可讓您節省 的擷取成本。它可讓您暫時將 IoT 資料存放在 Amazon S3 儲存貯體中，然後再匯入 AWS IoT SiteWise。或者，您可以直接將資料上傳至 S3 進行儲存，無論您是否打算將其匯入 AWS IoT SiteWise。這在擷取資料之前，對於從裝置和閘道批次處理和緩衝資料非常有用 AWS IoT SiteWise。使用此選項時，資料會以設定的頻率，以 Parquet 格式上傳至指定的 S3 儲存貯體。然後，您可以將此資料匯入 AWS IoT SiteWise 儲存體，以供進一步分析和處理。

**使用 Amazon S3 新增緩衝的目的地**

使用 AWS IoT SiteWise 主控台或 AWS CLI 將使用 Amazon S3 緩衝資料的目的地新增至 SiteWise Edge 閘道。

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

使用 AWS 管理主控台 新增使用 Amazon S3 緩衝的 AWS IoT SiteWise 目的地。

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

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

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

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

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

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

   1. 選取**AWS IoT SiteWise 使用 Amazon S3** for **Destination type** 緩衝。使用 Amazon S3 AWS IoT SiteWise 緩衝會以 Parquet 格式批次將資料傳送至 Amazon Simple Storage Service，然後將資料 AWS IoT SiteWise 匯入儲存。

1. 輸入您要存放閘道資料的位置的 Amazon S3 URL。您可以選擇**瀏覽 S3** 來瀏覽路徑。新增儲存貯體後，您也可以選擇檢視來**檢視**儲存貯體。

1. 輸入時間範圍並選取資料上傳頻率的時間增量，以指定閘道將資料上傳至 Amazon S3 的頻率。 ****頻率值應大於 0 且小於或等於 30 天。

1. 在**資料儲存設定**中，決定將閘道資料匯入至 後如何處理 AWS IoT SiteWise。需要對資料儲存做出兩個決策：
   + 如果您想要將匯入的資料複製到 AWS IoT SiteWise 儲存體，請選取**將資料複製到儲存體**核取方塊。此選項會將從您設定的 Amazon S3 儲存貯體匯入的資料複製到 AWS IoT SiteWise 儲存體。
   + 如果您選擇將資料從 Amazon S3 儲存貯體匯入 AWS IoT SiteWise 儲存體，您也可以指定是否應在匯入完成後刪除匯入的資料。選取**從 Amazon S3 刪除資料**核取方塊，以在匯入至 AWS IoT SiteWise 儲存體後，從設定的 Amazon S3 儲存貯體刪除匯入的日期。

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

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

**Example ：使用 Amazon S3 建立新的緩衝 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_BUFFERED",
        "name": "your-s3-destination-name",
        "config": {
          "targetBucketArn": "arn:aws:s3:::amzn-s3-demo-bucket/Optional/SomeFolder",
          "publishPolicy": {
            "publishFrequency": "15m",
            "localSizeLimitGB": 10
          },
          "siteWiseImportPolicy": {
            "enableSiteWiseStorageImport": true,
            "enableDeleteAfterImport": true,
            "bulkImportJobRoleArn": "arn:aws:iam::123456789012:role/your-role-name"
          }
        },
        "filters": [
          {
            "type": "PATH",
            "config": {
              "paths": [
                "#"
              ]
            }
          }
        ]
      }
    ]
  }
```

**Example ：更新使用 Amazon S3 緩衝的 AWS IoT SiteWise 目的地**  
若要更新現有的 AWS IoT SiteWise 即時目的地，請先使用 `DescribeGatewayCapabilityConfiguration` API 尋找 `destinationId`。  
發佈者命名空間： `iotsitewise:publisher:3`  

```
{
    "sources": [
      {
        "type": "MQTT"
      }
    ],
    "destinations": [
      {
        "id": "your-existing-destination-id",
        "type": "SITEWISE_BUFFERED",
        "name": "your-s3-destination-name",
        "config": {
          "targetBucketArn": "arn:aws:s3:::amzn-s3-demo-bucket/Optional/SomeFolder",
          "publishPolicy": {
            "publishFrequency": "15m",
            "localSizeLimitGB": 10
          },
          "siteWiseImportPolicy": {
            "enableSiteWiseStorageImport": true,
            "enableDeleteAfterImport": true,
            "bulkImportJobRoleArn": "arn:aws:iam::123456789012:role/your-role-name"
          }
        },
        "filters": [
          {
            "type": "PATH",
            "config": {
              "paths": [
                "#"
              ]
            }
          }
        ]
      }
    ]
  }
```

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

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

`destinations`  
定義傳送資料的位置。目的地是即時的或使用 Amazon S3 緩衝。至少需要一個目的地物件，但您可以新增空陣列。您可以為每個閘道有一個即時目的地。如需詳細資訊，請參閱[了解 AWS IoT SiteWise Edge 目的地](gw-destinations.md#source-destination)。  
類型： 物件陣列  
必要：是    
`id`  
目的地的唯一識別符。您可以提供現有的目的地 ID，或將其保留空白，讓目的地自動產生新的 ID。  
類型：字串  
必要：否  
`type`  
目的地類型。選項包括： `SITEWISE_REALTIME`和 `SITEWISE_BUFFERED`。選擇 `SITEWISE_BUFFERED`。  
+ `SITEWISE_REALTIME` （預設） – 即時將資料直接傳送到 AWS IoT SiteWise 儲存體。如需詳細資訊，請參閱[新增 AWS IoT SiteWise Edge 即時目的地](destinations-real-time.md)。
+ `SITEWISE_BUFFERED` – 以 Parquet 格式批次傳送資料至 Amazon S3，然後匯入至 AWS IoT SiteWise 儲存體。
類型：字串  
必要：是  
`name`  
目的地的唯一名稱。  
類型：字串  
必要：是  
`config`  
目的地類型特定的 JSON 格式組態。組態會因即時和緩衝目的地而有所不同。  
類型：物件  
必要：是    
`targetBucketArn`  
ARN 要發佈的儲存貯體。 AWS 區域 針對 AWS IoT SiteWise 和 Amazon S3 選擇相同的 。如果選擇字首，它必須介於 1-255 個字元之間。  
AWS IoT SiteWise，包括閘道，將可存取整個指定的 S3 儲存貯體。建議使用專用儲存貯體進行緩衝資料擷取。
類型：字串  
必要：是  
`publishPolicy`  
發佈政策的詳細資訊。  
類型：物件  
必要：是    
`publishFrequency`  
SiteWise Edge 閘道發佈至 Amazon S3 儲存貯體的頻率。資料上傳至 Amazon S3 的頻率必須大於 0 分鐘，且小於或等於 30 天。當您指定發佈頻率存留期`d`時`m`，可以使用 `h`、 和 。請注意， `m`代表分鐘， `h` 代表小時， `d`代表天數。預設值為 15 分鐘。  
類型：字串  
必要：是  
`localSizeLimitGB`  
寫入本機磁碟的檔案大小上限，以 GB 為單位。如果超過此閾值，發佈者會將所有緩衝資料發佈至其目的地。  
類型：整數  
必要：是  
`siteWiseImportPolicy`  
用於匯入資料之匯入政策的詳細資訊 AWS IoT SiteWise。  
類型：物件  
必要：是    
`enableSiteWiseStorageImport`  
將此設定為 `true`，將資料從 Amazon S3 儲存貯體匯入至 AWS IoT SiteWise 儲存體。它最初會在 中複製資料 AWS IoT SiteWise。然後，如果您`enableDeleteAfterImport`將 設為 true，S3 中的資料會在複製到 後刪除 AWS IoT SiteWise。定價含意適用。預設值為 `true`。  
類型：布林值  
必要：是  
`enableDeleteAfterImport`  
將此設定為 `true`，以在擷取至 AWS IoT SiteWise 儲存體後刪除 Amazon S3 儲存貯體中的檔案。預設值為 `true`。  
類型：布林值  
必要：是  
`bulkImportJobRoleArn`  
 AWS IoT SiteWise 擔任 在資料擷取期間從 Amazon S3 讀取緩衝資料的 IAM 角色 ARN。當邊緣裝置呼叫 AWS IoT SiteWise APIs以啟動大量匯入程序時，會使用此角色。  
如果 `enableSiteWiseStorageImport` 設定為 `true`，則需要此參數。
類型：字串  
必要：否

------

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