

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

# 設定 AWS IoT Greengrass 串流管理員
<a name="configure-stream-manager"></a>

在 Greengrass 核心裝置上，串流管理員可以存放、處理和匯出 IoT 裝置資料。串流管理員提供您用來設定執行時間設定的參數。這些設定適用於 Greengrass 核心裝置上的所有串流。您可以在部署元件時，使用 AWS IoT Greengrass 主控台或 API 來設定串流管理員設定。變更會在部署完成後生效。

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

串流管理員提供下列參數，您可以在將元件部署到核心裝置時設定這些參數。所有參數都是選用的。

**儲存目錄**  <a name="STREAM_MANAGER_STORE_ROOT_DIR"></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
```
如需保護串流資料安全的資訊，請參閱 [本機資料安全性](manage-data-streams.md#stream-manager-security-stream-data)。  
預設：`/greengrass/v2/work/aws.greengrass.StreamManager`

**伺服器連接埠**  
參數名稱：`STREAM_MANAGER_SERVER_PORT`  
用於與串流管理員通訊的本機連接埠號碼。預設值為 `8088`。  
您可以指定 `0`使用隨機的可用連接埠。

**驗證用戶端**  <a name="STREAM_MANAGER_AUTHENTICATE_CLIENT"></a>
參數名稱：`STREAM_MANAGER_AUTHENTICATE_CLIENT`  
表示用戶端是否須經過驗證才能與串流管理員互動。用戶端和串流管理員之間的所有互動都由串流管理員 SDK 控制。此參數決定哪些用戶端可以呼叫 Stream Manager SDK 來使用串流。如需詳細資訊，請參閱[用戶端身分驗證](manage-data-streams.md#stream-manager-security-client-authentication)。  
有效值為 `true` 或 `false`。預設值為 `true` (建議)。  
+ `true`。 僅允許 Greengrass 元件做為用戶端。元件使用內部 AWS IoT Greengrass 核心通訊協定來驗證 Stream Manager SDK。
+ `false`。 允許在 AWS IoT Greengrass Core 上執行的任何程序成為用戶端。除非您的商業案例需要，`false`否則請勿將值設定為 。例如，`false`只有在核心裝置上的非元件程序必須直接與串流管理員通訊時，才能使用 。

**最高頻寬**  
參數名稱：`STREAM_MANAGER_EXPORTER_MAX_BANDWIDTH`  
可用來匯出資料的平均最高頻寬 (以千位元數/秒為單位)。預設允許無限使用可用頻寬。

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

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

**Logging level (記錄層級)**  
參數名稱：`LOG_LEVEL`  
元件的記錄層級。從下列日誌層級中進行選擇，此處依層級順序列出：  
+ `TRACE`
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
預設：`INFO`

**分段上傳的大小下限**  <a name="stream-manager-minimum-part-size"></a>
參數名稱：`STREAM_MANAGER_EXPORTER_S3_DESTINATION_MULTIPART_UPLOAD_MIN_PART_SIZE_BYTES`  
分段中部分的大小下限 （以位元組為單位） 上傳至 Amazon S3。串流管理員使用此設定和輸入檔案的大小，來判斷如何在分段 PUT 請求中批次處理資料。預設和最小值為`5242880`位元組 (5 MB)。  
串流管理員使用串流的 `sizeThresholdForMultipartUploadBytes` 屬性來判斷要匯出至 Amazon S3，做為單一或分段上傳。使用者定義的 Greengrass 元件會在建立匯出至 Amazon S3 的串流時設定此閾值。預設閾值為 5 MB。

## 另請參閱
<a name="configure-stream-manager-see-also"></a>
+ [管理 Greengrass 核心裝置上的資料串流](manage-data-streams.md)
+ [使用 StreamManagerClient 搭配串流](work-with-streams.md)
+ [匯出支援 AWS 雲端 目的地的組態](stream-export-configurations.md)