本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 AppStream 2.0 中的会话背景
您可以使用以下任一方法将参数传递给流应用程序:
-
在 CreateStreaming URL AppStream 2.0 API 操作中指定会话内容。有关更多信息,请参阅CreateStreamingURL。
-
将 sts: TagSession 权限添加到IAM角色的信任策略中,并在您的 SAML 2.0 身份提供商的身份验证响应中将会话上下文指定为SAML断言。有关更多信息,请参阅步骤 5:为SAML身份验证响应创建断言 和步骤 5:为SAML身份验证响应创建断言。
如果您的映像使用在 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。
使用会话上下文启动网站
-
在左侧导航窗格中,依次选择映像和映像生成器。
-
选择要使用的映像生成器,验证它是否处于正在运行状态,然后选择连接。
-
在本地用户选项卡上选择管理员,以登录映像生成器。
-
创建
C:\
的一个子文件夹。对于本示例,请使用C:\Scripts
。 -
在新文件夹中创建一个 Windows 批处理文件。在此示例中,创建
C:\Scripts\session-context-test.bat
并添加一个脚本,该脚本使用会话上下文启动 Firefox。URL运行以下脚本:
CD "C:\Program Files (x86)\Mozilla Firefox" Start firefox.exe %APPSTREAM_SESSION_CONTEXT%
-
在 Image Assistant 中,添加
session-context-test.bat
并将名称更改为Firefox
。您不需要添加 Firefox。此步骤只要求您添加批处理文件。
-
创建映像、实例集和堆栈。对于此示例,使用实例集名称
session-context-test-fleet
和堆栈名称session-context-test-stack
。 -
队列运行后,您可以使用
session-context
参数create-streaming-url进行调用,如本示例所示。aws appstream create-streaming-url --stack-name
session-context-test-stack
\ --fleet-namesession-context-test-fleet
\ --user-idusername
–-validity 10000 \ --application-idfirefox
--session-context "www.amazon.com
" -
在浏览器URL中打开直播。此脚本文件会启动 Firefox 并加载
http://www.amazon.com
。
同样,您可以通过执行以下步骤将参数传递给 Linux 流应用程序。
向 Linux 流应用程序传递参数
-
在左侧导航窗格中,依次选择映像和映像生成器。
-
选择要使用的映像生成器,验证它是否处于正在运行状态,然后选择连接。
-
默认使用以下身份登录映像生成器ImageBuilderAdmin。
-
通过运行以下命令创建脚本文件(例如 launch-chromium.sh):
sudo vim /usr/bin/launch-chromium.sh
-
编写脚本并设置可执行权限,如下所示:
注意
脚本中始终需要 #!/bin/bash 和源 /etc/profile。
#!/bin/bash source /etc/profile /usr/bin/chromium-browser $APPSTREAM_SESSION_CONTEXT
-
使用图像助手CLI添加 launch-chromium.sh:
sudo AppStreamImageAssistant add-application \ --name
chromium
\ --absolute-app-path/usr/bin/launch-chromium.sh
-
创建映像、实例集和堆栈。对于此示例,使用实例集名称
session-context-test-fleet
和堆栈名称session-context-test-stack
。 -
队列运行后,您可以使用
session-context
参数create-streaming-url进行调用,如本示例所示。aws appstream create-streaming-url --stack-name
session-context-test-stack
\ --fleet-namesession-context-test-fleet
\ --user-idusername
\ --application-idchromium
--session-context "www.amazon.com
" -
在浏览器URL中打开直播。批处理文件会启动 Chromium 并加载
http://www.amazon.com
。