CreateSessions - Amazon DCV Session Manager

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

CreateSessions

使用指定的詳細資訊建立新的 Amazon DCV 工作階段。

請求參數

Name

工作階段的名稱。

類型:字串

必要:是

Owner

工作階段擁有者的名稱。這必須是目標 Amazon DCV 伺服器上現有使用者的名稱。

類型:字串

必要:是

Type

工作階段類型。如需工作階段類型的詳細資訊,請參閱《Amazon DCV 管理員指南》中的 Amazon DCV 工作階段簡介

有效值:CONSOLE | VIRTUAL

類型:字串

必要:是

InitFile

Linux Amazon DCV 伺服器上的虛擬工作階段支援。Windows 和 Linux Amazon DCV 伺服器上的主控台工作階段不支援此功能。在 Amazon DCV 伺服器上執行以初始化工作階段的自訂指令碼路徑。檔案路徑相對於為 agent.init_folder Agent 組態參數指定的 init 目錄。如果檔案位於指定的 init 目錄中,請僅指定檔案名稱。如果檔案不在指定的 init 目錄中,請指定相對路徑。如需詳細資訊,請參閱《Amazon DCV Session Manager 管理員指南》中的客服人員組態檔案

類型:字串

必要:否

MaxConcurrents

並行 Amazon DCV 用戶端的數量上限。

類型:整數

必要:否

DcvGlEnabled

指出虛擬工作階段是否設定為使用硬體型 OpenGL。僅支援虛擬工作階段。Windows Amazon DCV 伺服器不支援此參數。

有效值:true | false

類型:布林值

必要:否

PermissionsFile

許可檔案的 Base64-encoded內容。如果省略,則預設為伺服器預設值。如需詳細資訊,請參閱《Amazon DCV 管理員指南》中的設定 Amazon DCV 授權

類型:字串

必要:否

EnqueueRequest

指出如果請求無法立即履行,是否將請求排入佇列。

類型:布林值

預設:false

必要:否

AutorunFile

在 Windows Amazon DCV 伺服器上支援主控台工作階段,在 Linux Amazon DCV 伺服器上支援虛擬工作階段。Linux Amazon DCV 伺服器上的主控台工作階段不支援此功能。

要在工作階段中執行之主機伺服器上檔案的路徑。檔案路徑相對於為 agent.autorun_folder 代理程式組態參數指定的自動執行目錄。如果檔案位於指定的自動執行目錄中,請僅指定檔案名稱。如果檔案不在指定的自動執行目錄中,請指定相對路徑。如需詳細資訊,請參閱《Amazon DCV Session Manager 管理員指南》中的客服人員組態檔案

檔案會代表指定的擁有者執行。指定的擁有者必須具有在伺服器上執行 檔案的許可。在 Windows Amazon DCV 伺服器上,檔案會在擁有者登入工作階段時執行。在 Linux Amazon DCV 伺服器上,檔案會在工作階段建立時執行。

類型:字串

必要:否

AutorunFileArguments

Linux Amazon DCV 伺服器上的虛擬工作階段支援。Windows 和 Linux Amazon DCV 伺服器的主控台工作階段不支援此功能。在工作階段內執行命令列引數時傳遞至 AutorunFile。引數會依照在指定陣列中出現的順序傳遞。可以設定允許的引數數目上限和每個引數允許的長度上限。如需詳細資訊,請參閱《Amazon DCV Session Manager 管理員指南》中的中介裝置組態檔案

類型:字串陣列

必要:否

DisableRetryOnFailure

指出在 Amazon DCV 主機上因任何原因失敗之後,是否不重試建立工作階段請求。如需建立工作階段重試機制的詳細資訊,請參閱《Amazon DCV Session Manager 管理員指南》中的中介裝置組態檔案

類型:布林值

預設:false

必要:否

Requirements

伺服器必須符合的要求,才能放置工作階段。需求可能包括伺服器標籤和/或伺服器屬性,伺服器標籤和伺服器屬性都是透過呼叫 DescribeServers API 來擷取。

需求條件表達式:

  • a != b 如果 a 不等於 b 則為 true

  • a = b 如果 a 等於 b,則為 true

  • a b 如果 a 大於 b,則為 true

  • a >= b 如果 a 大於或等於 b 則為 true

  • 如果 a 小於 b則為 b true

  • a <= b 如果 a 小於或等於 b 則為 true

  • a = b 如果 a 包含字串 b,則為 true

需求布林值運算子:

  • a bab 為 true,則為 true

  • 如果 a b 為 true,則為 ab true

  • 如果 a 為 false則不是 true

標籤索引鍵的字首必須是 tag:,伺服器屬性的字首必須是 server:。需求表達式支援括號 ()

需求範例:

  • tag:color = 'pink' and (server:Host.Os.Family = 'windows' or tag:color := 'red')

  • "server:Host.Aws.Ec2InstanceType := 't2' and server:Host.CpuInfo.NumberOfCpus >= 2"

您可以使用指數表示法來指定數值,例如:"server:Host.Memory.TotalBytes > 1024E6"

支援的伺服器屬性為:

  • Id

  • Hostname

  • Version

  • SessionManagerAgentVersion

  • Host.Os.BuildNumber

  • Host.Os.Family

  • Host.Os.KernelVersion

  • Host.Os.Name

  • Host.Os.Version

  • Host.Memory.TotalBytes

  • Host.Memory.UsedBytes

  • Host.Swap.TotalBytes

  • Host.Swap.UsedBytes

  • Host.CpuLoadAverage.OneMinute

  • Host.CpuLoadAverage.FiveMinutes

  • Host.CpuLoadAverage.FifteenMinutes

  • Host.Aws.Ec2InstanceId

  • Host.Aws.Ec2InstanceType

  • Host.Aws.Region

  • Host.Aws.Ec2ImageId

  • Host.CpuInfo.Architecture

  • Host.CpuInfo.ModelName

  • Host.CpuInfo.NumberOfCpus

  • Host.CpuInfo.PhysicalCoresPerCpu

  • Host.CpuInfo.Vendor

類型:字串

必要:否

StorageRoot

指定要用於儲存工作階段之資料夾的路徑。如需 Amazon DCV 工作階段儲存體的詳細資訊,請參閱《Amazon DCV 管理員指南》中的啟用工作階段儲存體。

類型:字串

必要:否

回應參數

Id

工作階段的唯一 ID。

Name

工作階段名稱。

Owner

工作階段擁有者。

Type

工作階段的類型。

State

工作階段的狀態。如果請求成功完成,工作階段會進入 CREATING 狀態。

Substate

工作階段的子狀態。如果請求成功完成,則子狀態會進入SESSION_PLACING子狀態。

範例

Python
請求

下列範例會建立三個工作階段。

from swagger_client.models.create_session_request_data import CreateSessionRequestData def get_sessions_api(): api_instance = swagger_client.SessionsApi(swagger_client.ApiClient(get_client_configuration())) set_request_headers(api_instance.api_client) return api_instance def create_sessions(sessions_to_create): create_sessions_request = list() for name, owner, session_type, init_file_path, autorun_file, autorun_file_arguments, max_concurrent_clients,\ dcv_gl_enabled, permissions_file, requirements, storage_root in sessions_to_create: a_request = CreateSessionRequestData( name=name, owner=owner, type=session_type, init_file_path=init_file_path, autorun_file=autorun_file, autorun_file_arguments=autorun_file_arguments, max_concurrent_clients=max_concurrent_clients, dcv_gl_enabled=dcv_gl_enabled, permissions_file=permissions_file, requirements=requirements, storage_root=storage_root) create_sessions_request.append(a_request) api_instance = get_sessions_api() print('Create Sessions Request:', create_sessions_request) api_response = api_instance.create_sessions(body=create_sessions_request) print('Create Sessions Response:', api_response) def main(): create_sessions([ ('session1', 'user1', 'CONSOLE', None, None, None, 1, None, '/dcv/permissions.file', "tag:os = 'windows' and server:Host.Memory.TotalBytes > 1024", "/storage/root"), ('session2', 'user1', 'VIRTUAL', None, 'myapp.sh', None, 1, False, None, "tag:os = 'linux'", None), ('session3', 'user1', 'VIRTUAL', '/dcv/script.sh', 'myapp.sh', ['argument1', 'argument2'], 1, False, None, "tag:os = 'linux'", None), ])
回應

以下是範例輸出。

{ "RequestId": "e32d0b83-25f7-41e7-8c8b-e89326ecc87f", "SuccessfulList": [ { "Id": "78b45deb-1163-46b1-879b-7d8fcbe9d9d6", "Name": "session1", "Owner": "user1", "Type": "CONSOLE", "State": "CREATING" }, { "Id": " a0c743c4-9ff7-43ce-b13f-0c4d55a268dd", "Name": "session2", "Owner": "user1", "Type": "VIRTUAL", "State": "CREATING" }, { "Id": " 10311636-df90-4cd1-bcf7-474e9675b7cd", "Name": "session3", "Owner": "user1", "Type": "VIRTUAL", "State": "CREATING" } ], "UnsuccessfulList": [ ] }