永久存储问题疑难解答 - 亚马逊 AppStream 2.0

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

永久存储问题疑难解答

Amazon AppStream 2.0 支持以下永久存储选项:主文件夹、G Suite 版 Google 云端硬盘和 OneDrive 企业版。由于这些永久存储解决方案中的内容同步行为是一致的,因此我们建议您查看主文件夹内容同步,了解有关预期行为的信息。

以下是您或您的用户使用 AppStream 2.0 永久存储时可能出现的问题。

我的堆栈的主文件夹无法正常工作。

在以下情况下,向 S3 存储桶备份主文件夹可能出现问题:

  • 流实例没有 Internet 连接,或者没有访问私有 Amazon S3 VPC 端点的访问权限(如适用)。

  • 网络带宽消耗太多。例如,在服务尝试将包含较大文件的主文件夹备份到 Amazon S3 时,用户正在下载或流式传输多个较大文件。

  • 管理员删除了服务创建的存储桶。

  • 管理员错误地编辑了 AmazonAppStreamServiceAccess 服务角色的 Amazon S3 权限。

有关更多信息,请参阅 Amazon Simple Storage Service(Amazon S3)用户指南Amazon Simple Storage Service(Amazon S3)用户指南

我的用户无法从我们的应用程序之一访问其主文件夹目录。

有些应用程序无法识别在文件资源管理器中将主文件夹显示为顶级文件夹的重定向。如果出现这种情况,用户可在流式传输会话期间在应用程序内通过从应用程序界面中选择 File Open (打开文件) 并浏览至以下任一目录来访问其主文件夹:

  • N on-domain-joined Windows 实例:C:\Users\\ 我的文件PhotonUser\ Home Folder

  • 加入域的 Windows 实例:C:\Users\%username%\My Files\Home Folder

  • Linux 实例:~/ MyFiles HomeFolder

我从 Amazon S3 中删除或替换了用户主文件夹中的文件,但是我的用户在流式传输会话期间看不到实例集实例上主文件夹中发生的更改。

存储在 S3 存储桶中用户主文件夹中的内容与队列实例上用户在流式传输会话期间可用的内容之间的差异可能是由于存储在 Amazon S3 存储桶中的主文件夹内容与 AppStream 2.0 队列实例上存储的主文件夹内容同步的方式所致。

在用户的 AppStream 2.0 直播会话开始时, AppStream 2.0 会对存储在亚马逊 Web Services 账户和地区的亚马逊 S3 存储桶中的用户主文件夹文件进行分类。当用户使用流媒体应用程序在其队列实例的主文件夹中打开文件时, AppStream 2.0 会将该文件下载到队列实例。

用户在活动流式传输会话期间对实例集实例上的文件所做的更改每隔几秒钟上传到 S3 存储桶中的主文件夹,或者在用户的流式传输会话结束时上传到 S3 存储桶中的主文件夹。

如果用户在流式传输会话期间打开实例集实例上主文件夹中的文件,然后在未做任何更改也未保存文件的情况下关闭该文件,并且在流式传输会话期间将该文件从用户位于 S3 存储桶中的主文件夹中删除,如果用户刷新此文件夹,此文件将从实例集实例中删除。如果用户修改文件并将文件保存在本地,则实例集实例上的用户在当前流式传输会话期间仍可使用该文件。文件还会再次上传到 S3 存储桶。但是,在下一次流式传输会话中,实例集实例上的用户也许能,也许不能使用该文件。

在用户下次流式传输会话期间,实例集实例上文件的可用性取决于用户是在您更改 S3 存储桶中的文件之前还是之后更改的实例集实例上的文件。

有关更多信息,请参阅 主文件夹内容同步

永久存储没有按预期运行。我的用户的文件保存到永久存储所用的时间比预期长。

在 AppStream 2.0 流式传输会话中,将与计算密集型应用程序关联的大型文件和目录保存到永久存储所需的时间可能比保存基本生产力应用程序所需的文件和目录更长。例如,与保存执行单次写入操作的应用程序创建的文件相比,应用程序保存大量数据或频繁修改相同文件所需的时间可能更长。保存许多小文件也可能需要更长时间。

如果您的用户保存与计算密集型应用程序关联的文件和目录,而且 AppStream 2.0 永久存储选项的性能不如预期,我们建议您使用服务器消息块 (SMB) 解决方案,例如适用于 Windows File Server 的 Amazon FSx 或文件网关。 AWS Storage Gateway 以下是与更适合与这些 SMB 解决方案一起使用的计算密集型应用程序关联的文件和目录示例:

  • 集成式开发环境(IDE)的工作区文件夹

  • 本地数据库文件

  • 图形仿真应用程序创建的暂存空间文件夹

有关更多信息,请参阅:

注意

在继续进行进一步的故障排除之前,请首先确保您的用户在保存文件和目录时遇到的问题仅与 AppStream 2.0 永久存储有关,而不是其他原因。为了排除其他原因,请让您的用户尝试将文件或目录保存到其流实例上可用的临时文件目录中。

我的用户在文件未使用时收到关于文件已在使用的错误。

以下情况下通常会发生这种行为:

  • 用户的文件在上次保存文件后仍在上传

  • 文件经常修改(例如,数据库文件)

上传较大文件可能需要很长时间。此外,每次尝试上传文件都可能导致另一次文件更新,从而可能导致重复尝试上传文件。

要解决此问题,我们建议您使用服务器消息块 (SMB) 解决方案,例如适用于 Windows File Server 的 Amazon FSx 或 AWS Storage Gateway 文件网关。有关更多信息,请参阅:

当一个文件夹包含数千个文件时, AppStream 2.0 可能需要很长时间才能显示文件列表。

AppStream 2.0 使用 API 调用来检索存储在 AppStream 2.0 永久存储空间中的文件夹的内容。每次调用运行时,API 调用可以检索的项目数量是有限制的。因此,如果 AppStream 2.0 必须在单个文件夹中检索成千上万个文件,那么显示所有文件列表的时间可能比显示包含较少文件的文件夹中的文件列表所需的时间要长。

要解决此问题,如果您在一个文件夹中有数千个文件,我们建议您将这些内容分成包含较少文件的多个文件组,并将每个组存储在不同的文件夹中。这样可以减少显示每个文件夹中文件列表所需的 API 调用次数。