

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

# 串流管理員
<a name="stream-manager-component"></a>

串流管理員元件 (`aws.greengrass.StreamManager`) 可讓您處理資料串流，以 AWS 雲端 從 Greengrass 核心裝置傳輸到 。

如需如何在自訂元件中設定和使用串流管理員的詳細資訊，請參閱 [管理 Greengrass 核心裝置上的資料串流](manage-data-streams.md)。

**Topics**
+ [版本](#stream-manager-component-versions)
+ [類型](#stream-manager-component-type)
+ [作業系統](#stream-manager-component-os-support)
+ [要求](#stream-manager-component-requirements)
+ [相依性](#stream-manager-component-dependencies)
+ [Configuration](#stream-manager-component-configuration)
+ [本機日誌檔案](#stream-manager-component-log-file)
+ [變更記錄](#stream-manager-component-changelog)

## 版本
<a name="stream-manager-component-versions"></a>

此元件具有下列版本：
+ 2.2.x 版本
+ 2.1.x
+ 2.0.x

**注意**  <a name="stream-manager-upgrade-note"></a>
如果您使用串流管理員將資料匯出至雲端，則無法將串流管理員元件的 2.0.7 版升級至 v2.0.8 和 v2.0.11 之間的版本。如果您是第一次部署串流管理員，強烈建議您部署最新版本的串流管理員元件。

## 類型
<a name="stream-manager-component-type"></a>

<a name="public-component-type-generic"></a>此<a name="public-component-type-generic-phrase"></a>元件是一般元件 (`aws.greengrass.generic`)。[Greengrass 核](greengrass-nucleus-component.md)會執行元件的生命週期指令碼。

<a name="public-component-type-more-information"></a>如需詳細資訊，請參閱[元件類型](develop-greengrass-components.md#component-types)。

## 作業系統
<a name="stream-manager-component-os-support"></a>

此元件可以安裝在執行下列作業系統的核心裝置上：
+ Linux
+ Windows

## 要求
<a name="stream-manager-component-requirements"></a>

此元件有下列需求：
+ [字符交換角色](device-service-role.md)必須允許存取您搭配串流管理員使用的 AWS 雲端 目的地。如需詳細資訊，請參閱：<a name="export-destinations-links"></a>
  + [AWS IoT Analytics 頻道](stream-export-configurations.md#export-to-iot-analytics)
  + [Amazon Kinesis 資料串流](stream-export-configurations.md#export-to-kinesis)
  + [AWS IoT SiteWise 資產屬性](stream-export-configurations.md#export-to-iot-sitewise)
  + [Amazon S3 物件](stream-export-configurations.md#export-to-s3)
+ 支援在 VPC 中執行串流管理員元件。若要在 VPC 中部署此元件，需要下列項目。
  + 串流管理員元件必須與您發佈資料的 AWS 服務具有連線能力。
    + Amazon S3： `com.amazonaws.region.s3`
    + Amazon Kinesis Data Streams： `com.amazonaws.region.kinesis-streams`
    + AWS IoT SiteWise: `com.amazonaws.region.iotsitewise.data`
  + 如果您將資料發佈至 `us-east-1`區域中的 Amazon S3，此元件預設會嘗試使用 S3 全域端點；不過，此端點無法透過 Amazon S3 VPC 介面端點使用。如需詳細資訊，請參閱 [AWS PrivateLink Amazon S3 的限制。](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html#privatelink-limitations)若要解決此問題，您可以從下列選項中選擇。
    + 透過在 中設定 ，將串流管理員元件設定為使用`us-east-1`區域中的區域 S3 `-Daws.s3UseUsEast1RegionalEndpoint=regional` 端點`JVM_ARGS`。
    + 建立 Amazon S3 閘道 VPC 端點，而不是 Amazon S3 介面 VPC 端點。S3 閘道端點支援存取 S3 全域端點。如需詳細資訊，請參閱[建立閘道端點](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#create-gateway-endpoint-s3)。

### 端點和連接埠
<a name="stream-manager-component-endpoints"></a>

除了基本操作所需的端點和連接埠之外，此元件還必須能夠對下列端點和連接埠執行傳出請求。如需詳細資訊，請參閱[允許透過代理或防火牆的裝置流量](allow-device-traffic.md)。


| Endpoint | 連線埠 | 必要 | 說明 | 
| --- | --- | --- | --- | 
|  `iotanalytics.region.amazonaws.com`  | 443 | 否 |  如果您將資料發佈至 ，則為必要項目 AWS IoT Analytics。  | 
|  `kinesis.region.amazonaws.com`  | 443 | 否 |  如果您將資料發佈至 Firehose，則為必要項目。  | 
|  `data.iotsitewise.region.amazonaws.com`  | 443 | 否 |  如果您將資料發佈至 ，則為必要項目 AWS IoT SiteWise。  | 
|  `*.s3.amazonaws.com`  | 443 | 否 |  如果您將資料發佈至 S3 儲存貯體，則為必要項目。 您可以將 取代`*`為您發佈資料的每個儲存貯體的名稱。  | 

## 相依性
<a name="stream-manager-component-dependencies"></a>

當您部署元件時， AWS IoT Greengrass 也會部署其相依性的相容版本。這表示您必須符合元件及其所有相依性的要求，才能成功部署元件。本節列出此元件[發行版本的](#stream-manager-component-changelog)相依性，以及為每個相依性定義元件版本的語意版本限制。您也可以在 [AWS IoT Greengrass 主控台](https://console.aws.amazon.com//greengrass)中檢視每個版本元件的相依性。在元件詳細資訊頁面上，尋找**相依性**清單。

------
#### [ 2.1.3 – 2.2.1 ]

下表列出此元件 2.1.3 至 2.2.1 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.0 <3.0.0  | 軟式 | 
| [字符交換服務](token-exchange-service-component.md) |  >=0.0.0  | 硬式 | 

------
#### [ 2.1.11 – 2.1.12 ]

下表列出此元件 2.1.11 至 2.1.10 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.0 <2.13.0  | 軟式 | 
| [字符交換服務](token-exchange-service-component.md) |  >=0.0.0  | 硬式 | 

------
#### [ 2.1.9 – 2.1.10 ]

下表列出此元件 2.1.9 至 2.1.10 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.0 <2.12.0  | 軟式 | 
| [字符交換服務](token-exchange-service-component.md) |  >=0.0.0  | 硬式 | 

------
#### [ 2.1.5 – 2.1.8 ]

下表列出此元件 2.1.5 至 2.1.8 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.0 <2.11.0  | 軟式 | 
| [字符交換服務](token-exchange-service-component.md) |  >=0.0.0  | 硬式 | 

------
#### [ 2.1.2 – 2.1.4 ]

下表列出此元件 2.1.2 至 2.1.4 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.0 <2.10.0  | 軟式 | 
| [權杖交換服務](token-exchange-service-component.md) |  >=0.0.0  | 硬式 | 

------
#### [ 2.1.1 ]

下表列出此元件 2.1.1 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.0 <2.9.0  | 軟式 | 
| [權杖交換服務](token-exchange-service-component.md) |  >=0.0.0  | 硬式 | 

------
#### [ 2.1.0 ]

下表列出此元件 2.1.0 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.0 <2.8.0  | 軟式 | 
| [權杖交換服務](token-exchange-service-component.md) |  >=0.0.0  | 硬式 | 

------
#### [ 2.0.15 ]

下表列出此元件 2.0.15 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.0 <2.7.0  | 軟式 | 
| [權杖交換服務](token-exchange-service-component.md) |  >=0.0.0  | 硬式 | 

------
#### [ 2.0.13 and 2.0.14 ]

下表列出此元件 2.0.13 和 2.0.14 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.0 <2.6.0  | 軟式 | 
| [權杖交換服務](token-exchange-service-component.md) |  >=0.0.0  | 硬式 | 

------
#### [ 2.0.11 and 2.0.12 ]

下表列出此元件 2.0.11 和 2.0.12 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.0 <2.5.0  | 軟式 | 
| [權杖交換服務](token-exchange-service-component.md) |  >=0.0.0  | 硬式 | 

------
#### [ 2.0.10 ]

下表列出此元件 2.0.10 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.0 <2.4.0  | 軟式 | 
| [字符交換服務](token-exchange-service-component.md) |  >=0.0.0  | 硬式 | 

------
#### [ 2.0.9 ]

下表列出此元件 2.0.9 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.0 <2.3.0  | 軟式 | 
| [字符交換服務](token-exchange-service-component.md) |  >=0.0.0  | 硬式 | 

------
#### [ 2.0.8 ]

下表列出此元件 2.0.8 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.0 <2.2.0  | 軟式 | 
| [權杖交換服務](token-exchange-service-component.md) |  >=0.0.0  | 硬式 | 

------
#### [ 2.0.7 ]

下表列出此元件 2.0.7 版的相依性。


| 相依性 | 相容版本 | 相依性類型 | 
| --- | --- | --- | 
| [Greengrass 核](greengrass-nucleus-component.md) |  >=2.0.3 <2.1.0  | 軟式 | 
| [字符交換服務](token-exchange-service-component.md) |  >=0.0.0  | 硬式 | 

------

如需元件相依性的詳細資訊，請參閱[元件配方參考](component-recipe-reference.md#recipe-reference-component-dependencies)。

## Configuration
<a name="stream-manager-component-configuration"></a>

此元件提供下列組態參數，您可以在部署元件時自訂這些參數。

`STREAM_MANAGER_STORE_ROOT_DIR`  
（選用） 用於存放串流之本機目錄的絕對路徑。此值必須以正斜線開頭 (例如 `/data`)。  
<a name="stream-manager-store-root-dir-parameter-folder-requirements"></a>您必須指定現有的資料夾，而且[執行串流管理員元件的系統使用者](configure-greengrass-core-v2.md#configure-component-user)必須具有讀取和寫入此資料夾的許可。例如，您可以執行下列命令來建立和設定資料夾 `/var/greengrass/streams`，您可以將其指定為串流管理員根資料夾。這些命令允許預設系統使用者 `ggc_user`讀取和寫入此資料夾。  

```
sudo mkdir /var/greengrass/streams
sudo chown ggc_user /var/greengrass/streams
sudo chmod 700 /var/greengrass/streams
```
預設：`/greengrass/v2/work/aws.greengrass.StreamManager`

`STREAM_MANAGER_SERVER_PORT`  
（選用） 用於與串流管理員通訊的本機連接埠號碼。  
您可以指定 `0`使用隨機的可用連接埠。  
預設：`8088`

`STREAM_MANAGER_AUTHENTICATE_CLIENT`  
（選用） 用戶端必須先進行身分驗證，才能與串流管理員互動。串流管理員 SDK 控制用戶端和串流管理員之間的互動。此參數會決定哪些用戶端可以呼叫 Stream Manager SDK 來使用串流。如需詳細資訊，請參閱[串流管理員用戶端身分驗證](manage-data-streams.md#stream-manager-security-client-authentication)。  
如果您指定 `true`，串流管理員 SDK 僅允許 Greengrass 元件做為用戶端。  
如果您指定 `false`，串流管理員 SDK 可讓核心裝置上的所有程序成為用戶端。  
預設：`true`

`STREAM_MANAGER_EXPORTER_MAX_BANDWIDTH`  
（選用） 串流管理員可用來匯出資料的平均最大頻寬 （以每秒 KB 為單位）。  
預設：無限制

`STREAM_MANAGER_EXPORTER_THREAD_POOL_SIZE`  
（選用） 串流管理員可用來匯出資料的作用中執行緒數目上限。  
最佳大小取決於您的硬體、串流磁碟區和規劃的匯出串流數量。如果匯出速度很慢，您可以調整此設定，找出適合您硬體和商務案例的最佳大小。核心裝置硬體的 CPU 和記憶體是限制因素。首先，您可以嘗試將此值設定為等同於裝置上處理器核心的數量。  
請小心不要設定高於硬體可支援的大小。每個串流都會耗用硬體資源，因此請嘗試限制受限裝置上的匯出串流數量。  
預設：5 個執行緒

`STREAM_MANAGER_EXPORTER_S3_DESTINATION_MULTIPART_UPLOAD_MIN_PART_SIZE_BYTES`  
（選用） 分段中組件的大小下限 （以位元組為單位） 上傳至 Amazon S3。串流管理員使用此設定和輸入檔案的大小，來判斷如何在分段 PUT 請求中批次處理資料。  
串流管理員使用串流`sizeThresholdForMultipartUploadBytes`屬性來判斷要匯出至 Amazon S3 做為單一或分段上傳。 AWS IoT Greengrass 元件可以在建立匯出至 Amazon S3 的串流時設定此閾值。
預設： `5242880` (5 MB)。這也是最小值。

`LOG_LEVEL`  
（選用） 元件的記錄層級。從下列日誌層級中選擇，此處依層級順序列出：  
+ `TRACE`
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
預設：`INFO`

`JVM_ARGS`  
（選用） 啟動時要傳遞給串流管理員的自訂 Java 虛擬機器引數。依空格分隔多個引數。  
僅限必須覆寫 JVM 使用的預設設定時，才能使用此參數。例如，如果您計劃匯出大量串流，可能需要增加預設堆積大小。

`startupTimeoutSeconds`  
（選用） 元件啟動的時間上限，以秒為單位。`ERRORED` 如果元件超過此逾時，元件的狀態會變更為 。  
預設：`120`

**Example 範例：組態合併更新**  
下列範例組態指定 使用非預設連接埠。  

```
{
  "STREAM_MANAGER_SERVER_PORT": "18088"
}
```

## 本機日誌檔案
<a name="stream-manager-component-log-file"></a>

此元件使用以下日誌檔案。

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.StreamManager.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.StreamManager.log
```

------

**檢視此元件的日誌**
+ 在核心裝置上執行下列命令，以即時檢視此元件的日誌檔案。將 `/greengrass/v2`或 *C：\$1greengrass\$1v2* 取代為 AWS IoT Greengrass 根資料夾的路徑。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.StreamManager.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.StreamManager.log -Tail 10 -Wait
  ```

------

## 變更記錄
<a name="stream-manager-component-changelog"></a>

下表說明每個版本元件的變更。


|  **版本**  |  **變更**  | 
| --- | --- | 
|  2.2.1  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/stream-manager-component.html) | 
|  2.2.0  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/stream-manager-component.html) | 
|  2.1.13  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/stream-manager-component.html) | 
|  2.1.12  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/stream-manager-component.html) | 
|  2.1.11  | 針對 Greengrass nucleus 2.12.0 版更新版本。 | 
|  2.1.10  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.9  | 針對 Greengrass nucleus 2.11.0 版更新版本。 | 
|  2.1.8  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.7  |  <a name="changelog-stream-manager-2.1.7"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.6  |  <a name="changelog-stream-manager-2.1.6"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.5  | 針對 Greengrass nucleus 2.10.0 版更新版本。 | 
|  2.1.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.1.1  | 針對 Greengrass nucleus 2.8.0 版更新版本。 | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.0.15  |  針對 Greengrass nucleus 2.6.0 版更新版本。  | 
|  2.0.14  |  此版本包含錯誤修正和改善。  | 
|  2.0.13  |  針對 Greengrass nucleus 2.5.0 版更新版本。  | 
| 2.0.12 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/greengrass/v2/developerguide/stream-manager-component.html)  | 
|  2.0.11  |  針對 Greengrass nucleus 2.4.0 版更新版本。  | 
|  2.0.10  |  針對 Greengrass nucleus 2.3.0 版更新版本。  | 
|  2.0.9  |  針對 Greengrass nucleus 2.2.0 版更新版本。  | 
|  2.0.8  |  針對 Greengrass nucleus 2.1.0 版更新版本。  | 
|  2.0.7  |  初始版本。  | 