

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 为会话脚本日志启用 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 应用程序添加了防止意外删除存储桶的存储桶策略。有关更多信息，请参阅[亚马逊 WorkSpaces 应用程序的身份和访问管理](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 启动的流式传输会话。该会话使用来自美国西部（俄勒冈）区域 (us-west-2) 的用户 AWS 账户 ID `testuser@mydomain.com` 和设置组`test-stack`的 API：`123456789012`

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

此示例文件夹结构包含一个用于用户上下文会话启动脚本的日志文件，以及一个用于系统上下文会话启动脚本的日志文件（如果适用）。