本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 AppStream 2.0 動態應用程式架構建置動態應用程式提供者
AppStream 2.0 動態應用程式架構可在 AppStream 2.0 串流執行個體內提供 API 操作,讓您用來建置動態應用程式提供者。動態應用程式提供者可透過提供的 API 操作,來修改使用者可以即時存取的應用程式目錄。由動態應用程式提供者管理的應用程式可位於映像中,也可以在執行個體以外 (例如來自 Windows 檔案共享或應用程式虛擬化技術)。
注意
此功能需要使用已聯結 Microsoft Active Directory 網域的 AppStream 2.0Always-On 或 On-Demand 機群。如需更多詳細資訊,請參閱 使用活動目錄 AppStream 2.0。
關於動態應用程式架構
動態應用程式架構使用 Apache Thrift 軟體架構AddApplications
、RemoveApplications
和 ClearApplications
。
動態應用程式架構 Thrift 定義和具名管道名稱
Thrift 可讓您使用 AppStream 2.0 提供的簡易定義檔來編譯 RPC 用戶端。RPC 用戶端可讓您與串流執行個體上執行的 AppStream 2.0 代理程式軟體通訊。如需如何針對您的語言編譯 RPC 用戶端的資訊,請參閱 Apache Thrift 文件
AppStreamServer.thrift
namespace netstd AppStream.ApplicationCatalogService.Model const string ServiceEndpoint = "D56C0258-2173-48D5-B0E6-1EC85AC67893"; struct AddApplicationsRequest { 1: required string userSid; 2: required list<Application> applications; } struct AddApplicationsResponse { } struct RemoveApplicationsRequest { 1: required string userSid; 2: required list<string> applicationIds; } struct RemoveApplicationsResponse { } struct ClearApplicationsRequest { 1: required string userSid; } struct ClearApplicationsResponse { } struct Application { 1: required string id; 2: required string displayName; 3: required string launchPath; 4: required string iconData; 5: string launchParams; 6: string workingDirectory; } exception AppStreamClientException { 1: string errorMessage, 2: ErrorCode errorCode } exception AppStreamServerException { 1: string errorMessage, 2: ErrorCode errorCode } enum ErrorCode { } service ApplicationCatalogService { AddApplicationsResponse AddApplications(1:AddApplicationsRequest request) throws (1: AppStreamClientException ce, 2: AppStreamServerException se), RemoveApplicationsResponse RemoveApplications(1:RemoveApplicationsRequest request) throws (1: AppStreamClientException ce, 2: AppStreamServerException se), ClearApplicationsResponse ClearApplications(1:ClearApplicationsRequest request) throws (1: AppStreamClientException ce, 2: AppStreamServerException se), }
用於管理 AppStream 2.0 應用程式權利的 API 動作
您可以使用下列 API 操作來管理 AppStream 2.0 的應用程式權利。
AddApplicationsRequest
操作
將應用程式新增至 AppStream 2.0 使用者的應用程式目錄。AppStream 2.0 顯示的應用程式目錄包含您使用此 API 操作新增的應用程式,以及您新增至映像中的應用程式。在您使用上述方法之一或兩者來新增應用程式之後,使用者即可啟動應用程式。
請求語法
string userSid;
list<Application> applications;
請求參數
userSid
-
要套用請求的使用者 SID。
類型:字串
必要:是
長度限制:長度下限 1 個字元,長度上限 208 個字元。
應用程式
-
要套用請求的應用程式清單。
類型:字串
必要:是
Application
物件
描述顯示和啟動應用程式所需的應用程式中繼資料。應用程式識別符必須是唯一的,而且不能與透過 API 操作或映像指定的其他應用程式衝突。
id
-
要指定的應用程式識別符。這個值會與 AppStream 2.0 應用程式報告中的
application_name
值對應,並於使用者啟動應用程式時提供。當您啟用用量報告時,每天只要有使用者在串流工作階段期間啟動至少一個應用程式,AppStream 2.0 就會將應用程式報告匯出到 Amazon S3 儲存貯體。如需有關應用程式報告的詳細資訊,請參閱應用程式報告欄位。類型:字串
必要:是
長度限制:長度下限 1 個字元,長度上限 512 個字元。
displayName
-
要指定的應用程式顯示名稱。使用者會在應用程式目錄中看到此名稱。
類型:字串
必要:是
長度限制:長度下限 1 個字元,長度上限 512 個字元。
launchPath
-
要啟動之應用程式執行檔的 Windows 檔案系統路徑。
類型:字串
必要:是
長度限制:長度下限 1 個字元,長度上限 32,767 個字元。
iconData
-
要顯示在應用程式目錄中的 base-64 編碼映像。此影像必須為下列其中一個格式:.png、.jpeg 或是 .jpg。
類型:字串
必要:是
長度限制:長度下限 1 個字元,長度上限 1,000,000 個字元。
launchParams
-
用來啟動應用程式的參數。
類型:字串
必要:否
長度限制:長度上限 32,000 個字元。
workingDirectory
-
要在其中啟動應用程式之工作目錄的 Windows 檔案系統路徑。
類型:字串
必要:否
長度限制:長度上限 32,767 個字元。
RemoveApplicationsRequest
操作
使用 AddApplicationsRequest
操作移除之前新增的應用程式。即可從使用者的應用程式目錄中移除應用程式。在移除應用程式後,即無法啟動這些應用程式。如果應用程式仍在執行,AppStream 2.0 不會將其關閉。您無法移除直接在 AppStream 2.0 映像中指定的應用程式。
請求語法
string userSid;
list<Application> applications;
請求參數
userSid
-
對其套用請求的使用者 SID。
類型:字串
必要:是
長度限制:長度下限 1 個字元,長度上限 208 個字元。
應用程式
-
要套用請求的應用程式清單。
類型:字串
必要:是
ClearApplicationsRequest
操作
使用 AddApplicationsRequest
操作,移除之前新增至應用程式目錄的所有應用程式。在移除應用程式後,即無法啟動這些應用程式。在使用 ClearApplicationsRequest
操作時,如果應用程式仍在執行,AppStream 2.0 不會將其關閉。您無法移除直接在 AppStream 2.0 映像中指定的應用程式。
請求語法
string userSid;
請求參數
userSid
-
對其套用請求的使用者 SID。
類型:字串
必要:是
長度限制:長度下限 1 個字元,長度上限 208 個字元。