

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

# 為工作階段指令碼日誌啟用 Amazon S3 儲存貯體儲存
<a name="enable-S3-bucket-storage-session-script-logs"></a>

當您在工作階段指令碼組態中啟用 Amazon S3 記錄時，WorkSpaces 應用程式會從工作階段指令碼擷取標準輸出。此輸出會定期上傳到您的 Amazon Web Services 帳戶內的 S3 儲存貯體。對於每個 AWS 區域，WorkSpaces 應用程式會在您的帳戶中建立專屬於您的帳戶和區域的儲存貯體。

您不需要執行任何設定任務來管理這些 S3 儲存貯體。它們完全由 WorkSpaces 應用程式服務管理。存放在每個儲存貯體中的日誌檔在傳輸中會使用 Amazon S3 的 SSL 端點加密，靜態時則使用 Amazon S3 的受管加密金鑰加密。儲存貯體使用特定格式命名，如下所示：

```
appstream-logs-region-code-account-id-without-hyphens-random-identifier
```

***region-code***  
這是在為工作階段指令碼日誌啟用 Amazon S3 儲存貯體儲存的情況下建立堆疊 AWS 的區域碼。

***account-id-without-hyphens***  
您的 Amazon Web Services 帳戶識別符。隨機 ID 可確保與該區域中的其他儲存貯體不發生衝突。儲存貯體名稱的第一部分 `appstream-logs`，不會因為跨帳戶或區域而變更。

例如，如果您在美國西部 （奧勒岡） 區域 (us-west-2) 的 映像中，於帳號 123456789012 指定工作階段指令碼，WorkSpaces 應用程式會在您的帳戶內建立 Amazon S3 儲存貯體，並顯示名稱。只有具備足夠許可的管理員可以刪除這個儲存貯體。

```
appstream-logs-us-west-2-1234567890123-abcdefg
```

停用工作階段指令碼不會刪除任何存放在 S3 儲存貯體的日誌檔。您或具有足夠許可的其他管理員必須使用 Amazon S3 主控台或 API，才能永久刪除日誌檔。WorkSpaces 應用程式會新增儲存貯體政策，以防止意外刪除儲存貯體。如需詳細資訊，請參閱 [Amazon WorkSpaces 應用程式的 Identity and Access Management](controlling-access.md) 中的 *IAM 政策和應用程式設定持續性的 Amazon S3 儲存貯體*。

當工作階段指令碼啟用時，將會為每個啟動的串流工作階段建立唯一資料夾。

 在您的帳戶中，日誌檔存放在 S3 儲存貯體中的資料夾路徑使用以下結構：

```
bucket-name/stack-name/fleet-name/access-mode/user-id-SHA-256-hash/session-id/SessionScriptsLogs/session-event
```

***bucket-name***  
存放工作階段指令碼的 S3 儲存貯體名稱。名稱格式如本節前文所述。

***stack-name***  
工作階段的來源堆疊名稱。

***fleet-name***  
執行工作階段指令碼的機群名稱。

***access-mode***  
使用者的身分方法：`custom`適用於 WorkSpaces 應用程式 API 或 CLI、`federated`適用於 SAML，以及`userpool`適用於使用者集區中的使用者。

***user-id-SHA-256-hash***  
使用者特定的資料夾名稱。此名稱是使用從使用者識別符產生的小寫 SHA-256 雜湊十六進位字串建立。

***session-id***  
使用者串流工作階段的識別符。每個使用者串流工作階段都會產生唯一 ID。

***session-event***  
產生工作階段指令碼日誌的事件。事件值為：`SessionStart` 和 `SessionTermination`。

以下範例資料夾結構適用於從 test-stack 和 test-fleet 開始的串流工作階段。工作階段使用`testuser@mydomain.com`來自 AWS 帳戶 之 ID 的使用者 ID 的 API`123456789012`，以及`test-stack`美國西部 （奧勒岡） 區域中的設定群組 (us-west-2)：

```
appstream-logs-us-west-2-1234567890123-abcdefg/test-stack/test-fleet/custom/a0bcb1da11f480d9b5b3e90f91243143eac04cfccfbdc777e740fab628a1cd13/05yd1391-4805-3da6-f498-76f5x6746016/SessionScriptsLogs/SessionStart/
```

在此範例資料夾結構中，一個日誌檔用於使用者環境工作階段開始指令碼，另一個日誌檔用於系統環境工作階段開始指令碼 (如果適用)。