GetSessionConnectionData - Amazon DCV Session Manager

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

GetSessionConnectionData

取得特定使用者與特定 Amazon DCV 工作階段連線的連線資訊。

請求參數

SessionId

要檢視連線資訊的工作階段 ID。

類型:字串

必要:是

User

要檢視連線資訊的使用者名稱。

類型:字串

必要:是

回應參數

Id

工作階段的唯一 ID。

Name

工作階段的名稱。

Owner

工作階段的擁有者。

Server

工作階段執行所在伺服器的相關資訊。此資料結構包含下列巢狀回應參數:

Ip

Amazon DCV 伺服器主機的 IP 地址。

Hostname

Amazon DCV 伺服器主機的主機名稱。

Port

Amazon DCV 伺服器與 Amazon DCV 用戶端通訊的連接埠。

Endpoints

Amazon DCV 伺服器端點的相關資訊。此資料結構包含下列巢狀回應參數:

IpAddress

伺服器端點的 IP 地址。

Port

伺服器端點的連接埠。

Protocol

伺服器端點所使用的通訊協定。可能的值包括:

  • HTTP — 端點使用 WebSocket (TCP) 通訊協定。

  • QUIC — 端點使用 QUIC (UDP) 通訊協定。

WebUrlPath

伺服器端點的 Web URL 路徑。僅適用於 HTTP 通訊協定。

WebUrlPath

Amazon DCV 伺服器組態檔案的路徑。

Tags

指派給伺服器的標籤。此資料結構包含下列巢狀回應參數:

Key

標籤金鑰。

Value

標籤值。

Type

工作階段的類型。

State

工作階段的目前狀態。可能值為:

  • CREATING - 代理程式正在建立工作階段。

  • READY - 工作階段已準備好接受用戶端連線。

  • DELETING - 正在刪除工作階段。

  • DELETED - 已刪除工作階段。

  • UNKNOWN - 無法判斷工作階段的狀態。代理程式和代理程式可能無法通訊。

CreationTime

工作階段建立的日期和時間。

LastDisconnectionTime

上次用戶端中斷連線的日期和時間。

NumOfConnections

使用者與工作階段的並行連線數。

ConnectionToken

用於連線至工作階段的身分驗證字符。

其他資訊

從此 API 取得的資訊可以傳遞至 Amazon DCV 用戶端,以連線至 Amazon DCV 工作階段。

如果是 Amazon DCV Web 用戶端,您可以建置可在瀏覽器中開啟的 URL。URL 的格式如下:

https://{Ip}:{Port}{WebUrlPath}?authToken={ConnectionToken}#{SessionId}.

如果是 Amazon DCV 原生用戶端,您可以使用dcv://結構描述建置 URL。安裝 Amazon DCV 原生用戶端時,它會向系統註冊本身,做為 dcv:// URLs的處理常式。URL 的格式如下:

dcv://{Ip}:{Port}{WebUrlPath}?authToken={ConnectionToken}#{SessionId}.
注意

如果您使用的是 Amazon EC2,IP 地址應為公有地址。如果您的組態在閘道後方有 Amazon DCV 主機,請指定閘道地址,而不是 SessionConnectionData API 傳回的地址。

範例

Python
請求

下列範例會取得使用者名稱為 的使用者連線資訊,user1以及 ID 為 的工作階段sessionId12345

def get_session_connection_api(): api_instance = swagger_client.GetSessionConnectionDataApi(swagger_client.ApiClient(get_client_configuration())) set_request_headers(api_instance.api_client) return api_instance def get_url_to_connect(api_response): ip_address = api_response.session.server.ip port = api_response.session.server.port web_url_path = api_response.session.server.web_url_path connection_token = api_response.connection_token session_id = api_response.session.id url = f'https://{ip_address}:{port}{web_url_path}?authToken={connection_token}#{session_id}' return url def get_session_connection_data(session_id, user): api_response = get_session_connection_api().get_session_connection_data(session_id=session_id, user=user) url_to_connect = get_url_to_connect(api_response) print('Get Session Connection Data Response:', api_response) print('URL to connect: ', url_to_connect) def main(): get_session_connection_data('sessionId12345', 'user1')
回應

以下是範例輸出。

{ "Session": { "Id": "sessionId12345", "Name": "a session name", "Owner": "an owner 1890", "Server": { "Ip": "1.1.1.123", "Hostname": "server hostname", "Port": "1222", "endpoints": [ { "port": 8443, "web_url_path": "/", "protocol": "HTTP" }, { "port": 9443, "web_url_path": "/", "protocol": "HTTP" }, { "port": 8443, "web_url_path": "", "protocol": "QUIC" } ], "WebUrlPath": "/path", "Tags": [ { "Key": "os", "Value": "windows" }, { "Key": "ram", "Value": "4gb" } ] }, "Type": "VIRTUAL", "State": "UNKNOWN", "CreationTime": "2020-10-06T10:15:31.633Z", "LastDisconnectionTime": "2020-10-06T10:15:31.633Z", "NumOfConnections": 2 }, "ConnectionToken": "EXAMPLEiOiJmOWM1YTRhZi1jZmU0LTQ0ZjEtYjZlOC04ZjY0YjM4ZTE2ZDkiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJkY3ZTZXNzaW9uSWQiOiJTZXNzaW9uSWQxODk5IiwiZGN2U2Vzc2lvbk93bmVyIjoiYW4gb3duZXIgMTEXAMPLEmRjdlNlc3Npb25Vc2VyIjoibXlVc2VyIiwiZXhwIjoxNjAxOTg1NDA4LCJpYXQiOjE2MDE5ODE4MDgsImp0aSI6IjgwMjljNDUwLTQwMDUtNDJhMy04YTQzLWFmZTM3ZTc4NTQ0ZCJ9.N0RRRT1FZuBgex_0iFwKBAdHdM2JSSADc-tngiKXevUxhhJvm3BPJYRs9NPE4GCJRTc13EXAMPLEIxNEPPh5IMcVmROfU1WKPnry4ypPTp3rsZ7YWjCTSfs1GoN3R_nLFyAxfhPD2yY-Kqtpd5GH0D-E8FwsedV-Q2bRQ4y9y1q0MgFU4QjaSMypUuYR0YjkCaoainjmEZew4A33fG40wATrBvoivBiNWdNpytHX2CDOuk_k0k_DWeZjMvv9jF1f5EXAMPLEm9h5zj_Nb1PKKfBSx9_O6gSJwC9UD-h_GaMgHmltqBIA4jdPD7i0CmC2e7413KFy-EQ4Ej1cM7RjLwhFuWpKWAVJxogJjYpfoKKaPo4KxvJjJIPYhkscklINQpe2W5rnlxCq7sC7ptcGw17DUobP7egRv9H37VD8SrkLyq-hK1G4G8erHvl9HIrTR9_c884fNrTCC8DvC062e4KYdLkAhhJmboN9CAGIGFyd2c1AY_CzzvDL0EXAMLE" }