本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon AppStream 2.0 中的工作階段內容
您可以使用下列其中一種方法,將參數傳遞到串流應用程式:
-
在 CreateStreamingURL AppStream 2.0 API 操作中指定工作階段內容。如需詳細資訊,請參閱 CreateStreamingURL。
-
將 sts:TagSession 許可新增至 IAM 角色的信任政策,並在 SAML 2.0 身分提供者的身分驗證回應中將工作階段內容指定為 SAML 聲明。如需詳細資訊,請參閱 步驟 5:建立身分SAML驗證回應的宣告 和 步驟 5:建立身分SAML驗證回應的宣告。
如果您的映像使用的 AppStream 2.0 代理程式版本是在 2018 年 10 月 30 日當天或之後發行,則工作階段內容會儲存在映像內作為 Windows 或 Linux 環境變數。如需特定環境變數的相關資訊,請參閱 自訂 Amazon AppStream 2.0 機群以最佳化使用者的應用程式串流體驗 中的「適用於 AppStream 2.0 機群的使用者和執行個體中繼資料」。
注意
AppStream 2.0 串流 URL 中的使用者可以看到工作階段內容參數。我們強烈建議您不要在工作階段內容參數中放入機密或敏感資訊。由於使用者可修改串流 URL,因此建議您執行額外的驗證,以判斷工作階段內容對最終使用者而言是否有效。例如,您可以將工作階段內容與其他工作階段資訊 (例如 AppStream 2.0 機群的使用者和執行個體中繼資料) 進行比較。
AppStream 2.0 不會對工作階段內容參數執行驗證。
使用工作階段環境將參數傳遞給您的串流應用程式
在下列步驟中,您將使用工作階段內容來啟動 Web 瀏覽器,並自動開啟特定網站。對於執行 Windows 的執行個體,您將使用 Firefox 瀏覽器。對於執行 Linux 的執行個體,您將使用 Chromium。
使用工作階段啟動網站
-
在左側導覽窗格中,選擇 Images (映像)、Image Builder (映像建置器)。
-
選擇要使用的映像建置器,驗證它已處於 Running (執行中) 狀態,然後選擇 Connect (連線)。
-
在本機使用者索引標籤上選擇管理員,以登入映像建置器。
-
建立
C:\
的子資料夾。在此範例中,使用C:\Scripts
。 -
在新資料夾中建立 Windows 批次檔。針對此範例,請建立
C:\Scripts\session-context-test.bat
並新增指令碼,從工作階段環境以 URL 啟動 Firefox。使用下列指令碼:
CD "C:\Program Files (x86)\Mozilla Firefox" Start firefox.exe %APPSTREAM_SESSION_CONTEXT%
-
在映像助理中,新增
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 串流應用程式
-
在左側導覽窗格中,選擇 Images (映像)、Image Builder (映像建置器)。
-
選擇要使用的映像建置器,驗證它已處於 Running (執行中) 狀態,然後選擇 Connect (連線)。
-
依預設以 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
。