亚马逊 AppStream 2.0 中的会话背景 - 亚马逊 AppStream 2.0

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

亚马逊 AppStream 2.0 中的会话背景

您可以使用以下任一方法将参数传递给流应用程序:

如果您的映像使用在 2018 年 10 月 30 日当天或之后发布的 AppStream 2.0 代理版本,则会话上下文将作为 Windows 或 Linux 环境变量存储在映像中。有关特定环境变量的信息,请参阅中的 “ AppStream 2.0 队列的用户和实例元数据”。自定义 Amazon AppStream 2.0 队列以优化用户的应用程序流媒体体验

注意

在 AppStream 2.0 直播中,用户可以看到会话上下文参数URL。我们强烈建议您切勿在会话上下文参数中输入机密或敏感信息。由于用户可以修改流式传输URL,因此我们建议您进行额外的验证,以确定会话上下文对最终用户是否有效。例如,您可以将会话上下文与其他会话信息(例如 AppStream 2.0 队列的用户和实例元数据)进行比较。

AppStream 2.0 不对会话上下文参数执行验证。

使用会话上下文将参数传递给流应用程序

在以下步骤中,您将使用会话上下文来启动 Web 浏览器并自动打开特定网站。对于运行 Windows 的实例,您需要使用 Firefox。对于运行 Linux 的实例,您需要使用 Chromium。

使用会话上下文启动网站
  1. 在左侧导航窗格中,依次选择映像映像生成器

  2. 选择要使用的映像生成器,验证它是否处于正在运行状态,然后选择连接

  3. 本地用户选项卡上选择管理员,以登录映像生成器。

  4. 创建 C:\ 的一个子文件夹。对于本示例,请使用 C:\Scripts

  5. 在新文件夹中创建一个 Windows 批处理文件。在此示例中,创建C:\Scripts\session-context-test.bat并添加一个脚本,该脚本使用会话上下文启动 Firefox。URL

    运行以下脚本:

    CD "C:\Program Files (x86)\Mozilla Firefox" Start firefox.exe %APPSTREAM_SESSION_CONTEXT%
  6. 在 Image Assistant 中,添加 session-context-test.bat 并将名称更改为 Firefox

    您不需要添加 Firefox。此步骤只要求您添加批处理文件。

  7. 创建映像、实例集和堆栈。对于此示例,使用实例集名称 session-context-test-fleet 和堆栈名称 session-context-test-stack

  8. 队列运行后,您可以使用session-context参数create-streaming-url进行调用,如本示例所示。

    aws appstream create-streaming-url --stack-name session-context-test-stack \ --fleet-name session-context-test-fleet \ --user-id username –-validity 10000 \ --application-id firefox --session-context "www.amazon.com"
  9. 在浏览器URL中打开直播。此脚本文件会启动 Firefox 并加载 http://www.amazon.com

同样,您可以通过执行以下步骤将参数传递给 Linux 流应用程序。

向 Linux 流应用程序传递参数
  1. 在左侧导航窗格中,依次选择映像映像生成器

  2. 选择要使用的映像生成器,验证它是否处于正在运行状态,然后选择连接

  3. 默认使用以下身份登录映像生成器ImageBuilderAdmin

  4. 通过运行以下命令创建脚本文件(例如 launch-chromium.sh):

    sudo vim /usr/bin/launch-chromium.sh

  5. 编写脚本并设置可执行权限,如下所示:

    注意

    脚本中始终需要 #!/bin/bash 和源 /etc/profile。

    #!/bin/bash source /etc/profile /usr/bin/chromium-browser $APPSTREAM_SESSION_CONTEXT
  6. 使用图像助手CLI添加 launch-chromium.sh:

    sudo AppStreamImageAssistant add-application \ --name chromium \ --absolute-app-path /usr/bin/launch-chromium.sh
  7. 创建映像、实例集和堆栈。对于此示例,使用实例集名称 session-context-test-fleet 和堆栈名称 session-context-test-stack

  8. 队列运行后,您可以使用session-context参数create-streaming-url进行调用,如本示例所示。

    aws appstream create-streaming-url --stack-name session-context-test-stack \ --fleet-name session-context-test-fleet \ --user-id username \ --application-id chromium --session-context "www.amazon.com"
  9. 在浏览器URL中打开直播。批处理文件会启动 Chromium 并加载 http://www.amazon.com