NICE DCV Session Manager - 开发人员指南

Similar documents
Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

0 配置 Host MIB 设备 V ( 简体版 ) 0 Update: 2016/1/30

CD (OpenSourceGuide OpenSourceGuide.pdf) : IR LED

Chapter #


WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

30.00% 25.00% 25.00% 22.50% 20.00% 15.00% 12.50% 15.00% 12.50% 10.00% 7.50% 5.00% 2.50% 2.50% 0.00% 文 学 理 学 工 学 法 学 教 育 学 管 理 学 历 史 学 艺 术 学 ( 三 ) 学 生

1

untitled

B

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD

Autodesk Product Design Suite Standard 系统统需求 典型用户户和工作流 Autodesk Product Design Suite Standard 版本为为负责创建非凡凡产品的设计师师和工程师提供供基本方案设计和和制图工具, 以获得令人惊叹叹的产品

Chapter 2

SL2511 SR Plus 操作手冊_單面.doc

Avigilon Control Center 6 ACC High Definition Stream Management (HDSM) ACC 6 ( Avigilon Appearance Search ) Avigilon Appearance Search ACC NVR HD Vide

六域链联盟 SDChain-Matrix 节点搭建指南 2018/07/26 Version : 1.0.0

untitled

Basic System Administration

¬¬

发行说明, 版

標準 BIG 中文字型碼表 A 0 9 B C D E F 一 乙 丁 七 乃 九 了 二 人 儿 入 八 几 刀 刁 力 匕 十 卜 又 三 下 丈 上 丫 丸 凡 久 么 也 乞 于 亡 兀 刃 勺 千 叉 口 土 士 夕 大 女 子 孑 孓 寸 小 尢 尸 山 川 工 己 已 巳 巾 干 廾

F515_CS_Book.book

自由軟體教學平台

IP505SM_manual_cn.doc

1

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

84

epub83-1

资源管理软件TORQUE与作业调度软件Maui的安装、设置及使用

自由軟體教學平台

RAID RAID 0 RAID 1 RAID 5 RAID * ( -1)* ( /2)* No Yes Yes Yes A. B. BIOS SATA C. RAID BIOS RAID ( ) D. SATA RAID/AHCI ( ) SATA M.2 SSD ( )

Microsoft Word zw

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

民 國 105 年 大 專 程 度 義 務 役 預 備 軍 官 預 備 士 官 考 選 簡 章 目 錄 壹 考 選 依 據 1 貳 考 ( 甄 ) 選 對 象 1 參 資 格 規 定 1 肆 員 額 及 專 長 類 別 2 伍 報 名 及 選 填 志 願 日 期 方 式 3 陸 選 填 官 科 (


案例分享产品文档

A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内

Serial ATA ( Silicon Image SiI3114)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 5 (4) S A T A... 8 (5) S A T A... 10

HOL-CHG-1695

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas

SIK) 者, 需 實 施 1 年 以 上, 經 體 格 檢 查 無 後 遺 症 者 5. 身 體 任 何 部 分 有 刺 青 紋 身 穿 耳 洞 者, 不 得 報 考, 各 項 檢 查 結 果 須 符 合 體 位 區 分 標 準 常 備 役 體 位 二 在 校 軍 訓 成 績 總 平 均 70 分

BYOD Http Redirect convergence Client (1) 2008R2 NLB( ) (2) NLB Unicast mode switch flooding (arp ) NLB DNS Redirect 1. Round-Robin DNS DNS IP/DNS Cli

ebook 185-6

jdbc:hsqldb:hsql: jdbc:hsqldb:hsqls: jdbc:hsqldb:http: jdbc:hsqldb:https: //localhost // :9500 / /dbserver.somedomain.com /an_alias /enrollme

Microsoft Word htm

目 录 简 介.3 ` 体 系 结 构...4 数 据 层...5 数 据 连 接 器...6 Tableau Server 组 件...7 网 关 / 负 载 平 衡 器...8 客 户 端 :Web 浏 览 器 和 移 动 应 用 程 序...8 客 户 端 :Tableau Desktop..

未命名 -1

Cloudy computing forEducation

自由軟體教學平台

校友会系统白皮书feb_08

Microsoft Word - ZLI14A0-105

1 2 / 3 1 A (2-1) (2-2) A4 6 A4 7 A4 8 A4 9 A ( () 4 A4, A4 7 ) 1 (2-1) (2-2) ()

13 根 据 各 种 网 络 商 务 信 息 对 不 同 用 户 所 产 生 的 使 用 效 用, 网 络 商 务 信 息 大 致 可 分 为 四 级, 其 中 占 比 重 最 大 的 是 ( A ) A 第 一 级 免 费 信 息 B 第 二 级 低 收 费 信 息 C 第 三 级 标 准 收 费

4 / ( / / 5 / / ( / 6 ( / / / 3 ( 4 ( ( 2

PowerPoint 演示文稿

目 录(目录名)


目 录 欢 迎 使 用 产 品 介 绍 产 品 概 述 产 品 特 点 代 理 商 系 统 使 用 说 明 登 陆 基 本 信 息 分 销 商 管 理 帐 户

R3105+ ADSL

Cisco WebEx Meetings Server 2.6 版常见问题解答

1 IT IT IT IT Virtual Machine, VM VM VM VM Operating Systems, OS IT

SiteView技术白皮书

民國八十九年台灣地區在校學生性知識、態度與行為研究調查

Partition Key: 字 符 串 类 型, 表 示 当 前 Entity 的 分 区 信 息 这 个 Property 对 于 Table Service 自 动 纵 向 和 横 向 扩 展 至 关 重 要 Row Key: 字 符 串 类 型, 在 给 定 Partition Key 的

tw_basics.book

AL-MX200 Series

05 01 X Window X Window Linux Linux X Window X Window Webmin Web Linux Linux X Window X Window Notebook PC X Window X Window module Linux Linux kernel

2005 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A. Sun Sun Berkeley BSD UNIX X/Open Company, Ltd. / Sun Sun Microsystems Su

2 SGML, XML Document Traditional WYSIWYG Document Content Presentation Content Presentation Structure Structure? XML/SGML 3 2 SGML SGML Standard Gener

停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址 access_token=access_token (http

QVM330 多阜寬頻路由器

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

G indd

QVM330 多阜寬頻路由器

Guide to Install SATA Hard Disks

快 速 入 门 (Linux) 概 述 文 档 目 的 本 文 档 介 绍 了 如 何 快 速 创 建 Linux 系 统 实 例 远 程 连 接 实 例 部 署 环 境 等 旨 在 引 导 您 一 站 式 完 成 实 例 的 创 建 登 录 和 快 速 环 境 部 署 云 服 务 器 ECS 实


1 SQL Server 2005 SQL Server Microsoft Windows Server 2003NTFS NTFS SQL Server 2000 Randy Dyess DBA SQL Server SQL Server DBA SQL Server SQL Se

2005 3


untitled

ebook140-9

ebook 132-2

MASQUERADE # iptables -t nat -A POSTROUTING -s / o eth0 -j # sysctl net.ipv4.ip_forward=1 # iptables -P FORWARD DROP #

Network Bandwidth Applications MATE Applications Applications On Demand Calendaring Load Balancer Live Archive Design Northbound Service,Netwo

(Real-time) (Local Host) (Buffer) (Video Conference) (VoD) (NetRadio) ,000 [1]( ) ( ) 1400 (2001 ) 75 (2005 ) DFC Intelligence [2] 1

% ~ AAA

RUN_PC連載_10_.doc

温州市政府分散采购

untitled

CA Nimsoft Monitor Snap 快速入门指南

Simulator By SunLingxi 2003

Microsoft Word - PS2_linux_guide_cn.doc


KL DSC DEMO 使用说明

untitled

RPC SOAP REST API API HTTP JSON XML PHP PHP PHP PHP PHP HTTP request/response cycle HTTP HTTP verbs headers Cookies JSON XML PHP RPC SOAP RESTful HTTP

Transcription:

NICE DCV Session Manager 开发人员指南

NICE DCV Session Manager: 开发人员指南 Copyright Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon 的商标和商业外观不得用于任何非 Amazon 的商品或服务, 也不得以任何可能引起客户混淆或者贬低或诋毁 Amazon 的方式使用 所有非 Amazon 拥有的其他商标均为各自所有者的财产, 这些所有者可能附属于 Amazon 与 Amazon 有关联或由 Amazon 赞助, 也可能不是如此 Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异 要查看适用于中国区域的差异, 请参阅中国的 Amazon Web Services 服务入门

Table of Contents 什么是会话管理器?... 1 会话管理器的工作原理... 1 Features... 2 入门... 3 生成客户端 API... 3 注册 API 客户端... 4 获取访问令牌并发出 API 请求... 4 会话管理器 API 参考... 6 CloseServers... 6 请求参数... 4 响应参数... 6 Example... 7 CreateSessions... 8 请求参数... 4 响应参数... 6 Example... 7 DescribeServers... 13 请求参数... 4 响应参数... 6 Example... 7 DescribeSessions... 20 请求参数... 4 响应参数... 6 Example... 7 DeleteSessions... 23 请求参数... 4 响应参数... 6 Example... 7 GetSessionConnectionData... 25 请求参数... 4 响应参数... 6 Example... 7 GetSessionScreenshots... 28 请求参数... 4 响应参数... 6 Example... 7 OpenServers... 30 请求参数... 4 响应参数... 6 Example... 7 UpdateSessionPermissions... 32 请求参数... 4 响应参数... 6 Example... 7 发布说明和文档历史记录... 35 发行说明... 35 二零一八年五月三十一日... 35 二零一八年四月十二日... 35 二零一二年十二月四日... 36... 36 文档历史记录... 36... xxxvii iii

会话管理器的工作原理 什么是 NICE DCV 会话管理器? NICE DCV 会话管理器是一套可安装的软件包 ( 代理和代理 ) 和一个应用程序编程接口 (API), 使开发人员和独立软件供应商 (ISV) 能够轻松构建前端应用程序, 以编程方式创建和管理 NICE DCV 的生命周期会话中的 NICE DCV 服务器 本指南介绍了如何使用会话管理器 API 来管理 NICE DCV 会话的生命周期 有关如何安装和配置会话管理器代理和代理的更多信息, 请参阅 NICE DCV 会话管理器管理员指南 Prerequisites 在开始使用会话管理器 API 之前, 请确保您熟悉 NICE DCV 和 NICE DCV 会话 有关更多信息, 请参阅 NICE DCV 管理员指南 主题 会话管理器的工作原理 (p. 1) Features (p. 2) 会话管理器的工作原理 下图显示了会话管理器的概述组件 代理 代理 API 客户端 Broker 是一个 Web 服务器, 它托管和公开会话管理器 API 它接收和处理 API 请求来管理 NICE DCV 会话 client, 然后将指令传递给相关的客服 Broker 必须安装在独立于 NICE DCV 服务器的主机上, 但它必须可供客户端访问, 并且它必须能够访问代理 代理安装在队列中的每台 NICE DCV 服务器上 代理接收来自代理并在各自的 NICE DCV 服务器上运行它们 代理还监视 NICE DCV 服务器的状态, 并将定期状态更新发送回 Broker 会话管理器公开了一组 REST 应用程序编程接口 (API), 可用于管理 NICE DCV 服务器队列上的 NICE DCV 会话 这些 API 托管在上, 并由代理 开发者可以构建自定义会话管理 clients 调用 API 客户端是您开发的用于调用会话管理器的前端应用程序或门户 API, 这些都是由代理 最终用户使用客户端管理队列中 NICE DCV 服务器上托管的会话 1

Features 访问令牌 为了发出 API 请求, 您必须提供访问令牌 令牌可以通过注册的客户端 API 从 Broker 或外部授权服务器请求 要请求和访问令牌, 客户端 API 必须提供有效的凭据 客户端 API 客户端 API 使用 Swagger Codegen 从会话管理器 API 定义 YAML 文件生成 客户端 API 用于发出 API 请求 NICE DCV 会话 您必须在 NICE DCV 服务器上创建您的客户端可以连接到的 NICE DCV 会话 如果有活动会话, 客户端只能连接到 NICE DCV 服务器 NICE DCV 支持控制台和虚拟会话 您可以使用会话管理器 API 来管理 NICE DCV 会话的生命周期 NICE DCV 会话可以处于以下状态之一 : CREATING-Broker 正在创建会话 READY- 会话已准备好接受客户端连接 DELETING- 会话正在被删除 DELETED- 会话已删除 UNKNOWN 无法确定会话的状态 代理和代理可能无法通信 Features DCV 会话管理器提供以下功能 : 提供 NICE DCV 会话信息 获取有关在多个 NICE DCV 服务器上运行的会话的信息 管理多个 NICE DCV 会话的生命周期 通过一个 API 请求, 为多个 NICE DCV 服务器上的多个用户创建或删除多个会话 支持标签 - 在创建会话时, 使用自定义标签来定位一组 NICE DCV 服务器 管理多个 NICE DCV 会话的权限 - 使用一个 API 请求修改多个会话的用户权限 提供连接信息 检索 NICE DCV 会话的客户端连接信息 支持云和本地 使用上的会话管理器 Amazon 内部部署或备用基于云的服务器 2

生成客户端 API 入门 本节介绍如何开始使用会话管理器 API 在本节中, 我们将向您演示如何使用 DescribeSessionsAPI 作为一个例子 主题 生成客户端 API (p. 3) 注册 API 客户端 (p. 4) 获取访问令牌并发出 API 请求 (p. 4) 生成客户端 API 会话管理器 API 在单个 YAML 文件中定义 这些 API 基于 OpenAPI3.0 规范, 该规范定义了一个标准的 与语言无关的接口到 REST 风格的 API 有关更多信息, 请参阅 OpenAPI 规范 使用 YAML 文件, 您可以使用支持的语言之一生成 API 客户端 为此, 必须使用 Swagger Codegen 3.0 或更高版本 有关支持的语言的更多信息, 请参阅斯瓦格尔代码回购 生成 API 客户端 1. 从会话管理器代理下载会话管理器 API YAML 文件 YAML 文件可通过以下 URL 获得 https://broker_host_ip:port/dcv-session-manager-api.yaml 2. 安装斯瓦格科德根 macos $ brew install swagger-codegen 其他平台 $ git clone https://github.com/swagger-api/swagger-codegen --branch 3.0.0 $ cd swagger-codegen 3. 生成 API 客户端 macos $ swagger-codegen generate -i /path_to/yaml_file -l language -o $output_folder 其他平台 $ mvn clean package $ java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -i / path_to/yaml_file -l language -o output_folder 3

注册 API 客户端 注册 API 客户端 要发出 API 请求, 您必须首先从 Broker 检索访问令牌 要从 Broker 获取访问令牌, 您必须向 Broker 提供您的客户端 API 的凭据 凭证基于客户在经纪商注册时生成的客户 ID 和客户密码 如果您的客户没有客户 ID 和客户密码, 您必须向您的经纪商管理员请求它们 有关向 Broker 注册客户端 API 并获取客户端 ID 和密码的详细信息, 请参阅注册 -AP- 客户端 获取访问令牌并发出 API 请求 首先, 我们导入应用所需的模型 然后我们声明客户端 ID 的变量 ( CLIENT_ID), 客户端密码 ( CLIENT_SECRET) 和代理 URL( 包括端口号 ( PROTOCOL_HOST_PORT) 接下来, 我们创建函数 build_client_credentials 来生成客户端凭据 要生成客户端凭据, 必须先将客户端 ID 和客户端密码连接起来, 然后用冒号 (client_id:client_password), 然后 Base64 对整个字符串进行编码 import swagger_client import base64 import requests import json from swagger_client.models.describe_sessions_request_data import DescribeSessionsRequestData from swagger_client.models.key_value_pair import KeyValuePair from swagger_client.models.delete_session_request_data import DeleteSessionRequestData from swagger_client.models.update_session_permissions_request_data import UpdateSessionPermissionsRequestData from swagger_client.models.create_session_request_data import CreateSessionRequestData CLIENT_ID = '794b2dbb-bd82-4707-a2f7-f3d9899cb386' CLIENT_SECRET = 'MzcxNzJhN2UtYjEzNS00MjNjLTg2N2YtMjFlZmRlZWNjMDU1' PROTOCOL_HOST_PORT = 'https://<broker-hostname>:8443' def build_client_credentials(): client_credentials = 'client_id:client_secret'.format(client_id= CLIENT_ID, client_secret= CLIENT_SECRET) return base64.b64encode(client_credentials.encode('utf-8')).decode('utf-8') 现在我们有了我们的客户证书, 我们可以使用它从 Broker 请求访问令牌 为此, 我们创建函数 get_access_token 您必须调用 POST 上的 https://broker_ip:8443/oauth2/token? grant_type=client_credentials, 并提供一个授权标头, 其中包括基本编码的客户端凭据和 application/x-www-form-urlencoded def get_access_token(): client_credentials = build_client_credentials() headers = 'Authorization': 'Basic '.format(client_credentials), 'Content-Type': 'application/x-www-form-urlencoded' endpoint = PROTOCOL_HOST_PORT + '/oauth2/token?grant_type=client_credentials' print('calling', endpoint, 'using headers', headers) res = requests.post(endpoint, headers=headers, verify=true) if res.status_code!= 200: print('cannot get access token:', res.text) return None 4

获取访问令牌并发出 API 请求 access_token = json.loads(res.text)['access_token'] print('access token is', access_token) return access_token 现在, 我们创建了实例化客户端 API 所需的函数 要实例化客户端 API, 您必须指定要用于请求的客户端配置和标头 这些区域有 :get_client_configuration 函数创建一个配置对象, 其中包括 Broker 的 IP 地址和端口以及 Broker 自签名证书的路径, 您应该从 Broker 管理员那里收到这些证书 这些区域有 :set_request_headers 函数创建一个包含客户端凭据和访问令牌的请求标头对象 def get_client_configuration(): configuration = swagger_client.configuration() configuration.host = PROTOCOL_HOST_PORT configuration.verify_ssl = True # configuration.ssl_ca_cert = cert_file.pem return configuration def set_request_headers(api_client): access_token = get_access_token() api_client.set_default_header(header_name='authorization', header_value='bearer '.format(access_token)) 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 最后, 我们创建了一个主方法, 该方法调用 DescribeSessionsAPI 有关更多信息, 请参阅 DescribeSessions (p. 20) def describe_sessions(session_ids=none, next_token=none, tags=none, owner=none): filters = list() if tags: for tag in tags: filter_key_value_pair = KeyValuePair(key='tag:' + tag['key'], value=tag['value']) filters.append(filter_key_value_pair) if owner: filter_key_value_pair = KeyValuePair(key='owner', value=owner) filters.append(filter_key_value_pair) request = DescribeSessionsRequestData(session_ids=session_ids, filters=filters, next_token=next_token) print('describe Sessions Request:', request) api_instance = get_sessions_api() api_response = api_instance.describe_sessions(body=request) print('describe Sessions Response', api_response) def main(): describe_sessions( session_ids=['sessionid1895', 'SessionId1897'], owner='an owner 1890', tags=['key': 'ram', 'Value': '4gb']) 5

CloseServers 会话管理器 API 参考 本节提供每个会话管理器 API 操作的描述 语法和使用示例 主题 CloseServers (p. 6) CreateSessions (p. 8) DescribeServers (p. 13) DescribeSessions (p. 20) DeleteSessions (p. 23) GetSessionConnectionData (p. 25) GetSessionScreenshots (p. 28) OpenServers (p. 30) UpdateSessionPermissions (p. 32) CloseServers 关闭一个或多个 NICE DCV 服务器 关闭 NICE DCV 服务器时, 将使其不可用于 NICE DCV 会话放置 您无法创建 NICE DCV 会话 Closed 服务器 关闭服务器可确保其上没有运行任何会话, 并且用户无法在其上创建新会话 主题 请求参数 (p. 4) 响应参数 (p. 6) Example (p. 7) 请求参数 ServerId 要关闭的服务器的 ID 类型 : 字符串 : 必需是 Force 强制关闭操作 如果您指定 true, 即使服务器有正在运行的会话, 服务器也会关闭 会话将继续运行 类型 : Boolean : 必需否 响应参数 RequestId 请求的唯一 ID 6

Example SuccessfulList 有关已成功关闭的 NICE DCV 服务器的信息 此数据结构包括以下嵌套响应参数 : ServerId 已成功关闭的服务器的 ID UnsuccessfulList 有关无法关闭的 NICE DCV 服务器的信息 此数据结构包括以下嵌套响应参数 : CloseServerRequestData 有关失败的原始请求的信息 此数据结构包括以下嵌套响应参数 : ServerId 无法关闭的 NICE DCV 服务器的 ID Force 请求的力参数 FailureCode 失败的代码 FailureReason 失败的原因 Example Python Request 以下示例关闭两个 NICE DCV 服务器 (serverid1 和 serverid2) 服务器 serverid2 不存在, 并导致失败 from swagger_client.models import CloseServerRequestData def get_servers_api(): api_instance = swagger_client.serversapi(swagger_client.apiclient(get_client_configuration())) set_request_headers(api_instance.api_client) return api_instance def close_servers(server_ids): request = [CloseServerRequestData(server_id=server_id) for server_id in server_ids] print('close Servers Request:', request) api_instance = get_servers_api() api_response = api_instance.close_servers(body=request) print('close Servers Response:', api_response) open_servers(server_ids) def main(): close_servers(["serverid1", "serverid2"]) Response 下面是示例输出 7

CreateSessions "RequestId": "4d7839b2-a03c-4b34-a40d-06c8b21099e6", "SuccessfulList": [ "ServerId": "serverid1" ], "UnsuccessfulList": [ "OpenServerRequestData": "ServerId": "serverid2", "FailureCode": "DCV_SERVER_NOT_FOUND", "FailureReason": "Dcv server not found." ] CreateSessions 创建具有指定详细信息的新 NICE DCV 会话 API 操作 请求参数 (p. 4) 响应参数 (p. 6) Example (p. 7) 请求参数 Name Owner Type 会话的名称 类型 : 字符串 : 必需是 会话所有者的名称 这必须是目标 NICE DCV 服务器上现有用户的名称 类型 : 字符串 : 必需是 会话类型 有关会话类型的更多信息, 请参阅 NICE DCV 会议简介中的 NICE DCV 管理员指南 有效值 : 控制台 虚拟 类型 : 字符串 : 必需是 InitFile 在 Linux NICE DCV 服务器上支持虚拟会话 Windows 和 Linux NICE DCV 服务器上不支持控制台会话访问 NICE DCV 服务器上用于在创建会话时初始化会话时运行的自定义脚本的路径 文件路径相对于 8

请求参数 为 agent.init_folder 代理配置参数 如果文件位于指定的 init 目录中, 则仅指定文件名 如果文件不在指定的 init 目录中, 请指定相对路径 有关详细信息, 请参阅 代理配置文件中的 NICE DCV 会话管理器管理员指南 类型 : 字符串 : 必需否 MaxConcurrents 最大并行 NICE DCV 客户端数 类型 : 整数 : 必需否 DcvGlEnabled 指示虚拟会话是否配置为使用基于硬件的 OpenGL 仅支持虚拟会话 Windows NICE DCV 服务器不支持此参数 有效值 :true false 类型 : Boolean : 必需否 PermissionsFile 权限文件的 Base64 编码内容 如果省略, 则默认为服务器默认值 有关更多信息, 请参阅 配置 NICE DCV 授权中的 NICE DCV 管理员指南 类型 : 字符串 : 必需否 EnqueueRequest 指示如果无法立即执行请求, 是否对请求进行排队 类型 : Boolean 默认值 :false : 必需否 AutorunFile Windows NICE DCV 服务器上支持控制台会话和在 Linux NICE DCV 服务器上支持虚拟会话 Linux NICE DCV 服务器上不支持控制台会话使用 主机服务器上要在会话内运行的文件的路径 文件路径相对于为 agent.autorun_folder 代理配置参数 如果文件位于指定的自动运行目录中, 则仅指定文件名 如果文件不在指定的自动运行目录中, 请指定相对路径 有关更多信息, 请参阅 代理配置文件中的 NICE DCV 会话管理器管理员指南 该文件代表指定的所有者 指定的所有者必须具有在服务器上运行文件的权限 在 Windows NICE DCV 服务器上, 当所有者登录到会话时运行该文件 在 Linux NICE DCV 服务器上, 在创建会话时运行文件 类型 : 字符串 : 必需否 9

请求参数 AutorunFileArguments 在 Linux NICE DCV 服务器上支持虚拟会话 Windows 和 Linux NICE DCV 服务器上不支持将其在 Windows 和 Linux NICE DCV 服务器上 传递到的命令行参数自动取消文件在会话内执行时 参数按照它们出现在给定数组中的顺序传递 可以配置允许的最大参数数和每个参数的最大允许长度 有关更多信息, 请参阅 代理配置文件中的 NICE DCV 会话管理器管理员指南 类型 : 字符串数组 : 必需否 DisableRetryOnFailure 指示由于任何原因在 NICE DCV 主机上失败后, 是否不重试创建会话请求 有关创建会话重试机制的更多信息, 请参阅代理配置文件中的 NICE DCV 会话管理器管理员指南 类型 : Boolean 默认值 :false : 必需否 Requirements 为了放置会话, 服务器必须满足的要求 这些要求可以包括服务器标签和 / 或服务器属性, 服务器标签和服务器属性都可以通过调用 DescribeServersAPI 要求条件表达式 : a! = b 如果为 truea 不等于 b a = b 如果为 truea 等于 b a > b 如果为 truea 大于 b a >= b 如果为 truea 大于或等于 b a < b 如果为 truea 小于 b a <= b 如果为 truea 小于或等于 b a = b 如果为 truea 包含字符串 b 要求布尔运算符 : a 和 b 如果为 truea 和 bis true a 或者 b 如果为 truea 或者 bis true 不 a 如果为 trueais false 标签键必须以 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 10

响应参数 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 指定用于会话存储的文件夹的路径 有关 NICE DCV 会话存储的更多信息, 请参阅启用会话存储中的 NICE DCV 管理员指南 类型 : 字符串 : 必需否 响应参数 Id 会话的唯一 ID Name 会话名称 Owner 会话所有者 Type 会话的类型 11

Example State 会话的状态 如果请求成功完成, 会话将进入 CREATING 状态 Example Python Request 以下示例创建三个会话 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), ]) Response 下面是示例输出 "RequestId": "e32d0b83-25f7-41e7-8c8b-e89326ecc87f", "SuccessfulList": [ "Id": "78b45deb-1163-46b1-879b-7d8fcbe9d9d6", 12

DescribeServers,, "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": [ ] DescribeServers 描述一个或多个 NICE DCV 服务器 主题 请求参数 (p. 4) 响应参数 (p. 6) Example (p. 7) 请求参数 ServerIds 要描述的 NICE DCV 服务器的 ID 如果未指定 ID, 则在分页输出中返回所有服务器 类型 : 字符串数组 : 必需否 NextToken 用于检索下一页结果的令牌 类型 : 字符串 : 必需否 MaxResults 请求返回分页输出中的最大结果数 使用此参数时, 请求仅返回单个页面中指定数量的结果以及 NextToken 响应元素 初始请求的剩余结果可以通过发送另一个请求并返回 NextToken 值 有效范围 :1-1000 默认值 :1000 13

响应参数 类型 : 整数 : 必需否 响应参数 RequestId 请求的唯一 ID Servers 有关 NICE DCV 服务器的信息 此数据结构包括以下嵌套响应参数 : Id Ip NICE DCV 服务器的唯一 ID NICE DCV 服务器的 IP 地址 Hostname NICE DCV 服务器的主机名 Endpoints 有关 NICE DCV 服务器终端节点的信息 此数据结构包括以下嵌套响应参数 : Port 服务器终端节点的端口 WebUrlPath 服务器终端节点的 Web URL 路径 仅适用于 HTTP 协议 Protocol Version 服务器终端节点使用的协议 可能的值包括 : HTTP 终端节点使用 WebSocket (TCP) 协议 QUIC 终端使用 QUIC (UDP) 协议 NICE DCV 服务器的版本 SessionManagerAgentVersion 在 NICE DCV 服务器上运行的版本会话管理器代理 Availability NICE DCV 服务器的可用性 可能的值包括 : AVAILABLE 服务器可用并准备好进行会话放置 UNAVAILABLE 服务器不可用且无法接受会话放置 UnavailabilityReason NICE DCV 服务器不可用的原因 可能的值包括 : SERVER_FULL NICE DCV 服务器已达到它可以运行的最大并发会话数 SERVER_CLOSED NICE DCV 服务器已使用闭合服务器 API UNREACHABLE_AGENT 会话管理器代理无法与 NICE DCV 服务器上的会话管理器代理进行通信 14

响应参数 UNHEALTHY_DCV_SERVER 会话管理器代理无法与 NICE DCV 服务器进行通信 EXISTING_LOGGED_IN_USER ( 仅限 Windows NICE DCV 服务器 ) 用户当前使用 RDP 登录到 NICE DCV 服务器 UNKNOWN 会话管理器代理无法确定原因 ConsoleSessionCount NICE DCV 服务器上的控制台会话数 VirtualSessionCount Host NICE DCV 服务器上的虚拟会话数 有关运行 NICE DCV 服务器的主机服务器的信息 此数据结构包括以下嵌套响应参数 : Os 有关主机服务器操作系统的信息 此数据结构包括以下嵌套响应参数 : Family Name Memory 操作系统系列 可能的值包括 : windows 主机服务器正在运行 Windows 操作系统 linux 主机服务器正在运行 Linux 操作系统 操作系统的名称 Version 操作系统的版本 KernelVersion ( 仅限于 Linux) 操作系统的内核版本 BuildNumber ( 仅限 Windows) 操作系统的内部版本号 有关主机服务器内存的信息 此数据结构包括以下嵌套响应参数 : TotalBytes 主机服务器上的总内存 ( 以字节为单位 ) UsedBytes Swap 主机服务器上已用内存 ( 以字节为单位 ) 有关主机服务器交换文件的信息 此数据结构包括以下嵌套响应参数 : TotalBytes 主机服务器上的交换文件总大小 ( 以字节为单位 ) UsedBytes Aws 主机服务器上已使用的交换文件大小 ( 以字节为单位 ) 仅适用于在 Amazon EC2 实例上运行的 NICE DCV 服务器 Amazon 特定信息 此数据结构包括以下嵌套响应参数 : 15

响应参数 Region 这些区域有 :AmazonAmazon EC2 实例的区域 Ec2InstanceType Amazon EC2 实例的类型 Ec2InstanceId Amazon EC2 实例的 ID Ec2ImageId Amazon EC2 映像的 ID CpuInfo 有关主机服务器 CPU 的信息 此数据结构包括以下嵌套响应参数 : Vendor 主机服务器的 CPU 供应商 ModelName 主机服务器 CPU 的型号名称 Architecture 主机服务器 CPU 的体系结构 NumberOfCpus 主机服务器上的 CPU 数量 PhysicalCorePerCpu 每个 CPU 的 CPU 核心数 CpuLoadAverage 有关主机服务器 CPU 负载的信息 此数据结构包括以下嵌套响应参数 : OneMinute 前一分钟时间段的平均 CPU 负载 FiveMinutes 前 5 分钟时间段的平均 CPU 负载 FifteenMinutes Gpus 前 15 分钟时间段的平均 CPU 负载 有关主机服务器 GPU 的信息 此数据结构包括以下嵌套响应参数 : Vendor 主机服务器的 GPU 的供应商 ModelName 主机服务器 GPU 的型号名称 LoggedInUsers 当前登录到主机服务器的用户 此数据结构包括以下嵌套响应参数 : 16

Example Username Tags 已登录用户的用户名 分配给服务器的标签 此数据结构包括以下嵌套响应参数 : Key 标签键 Value 标签值 Example Python Request 以下示例介绍了所有可用的 NICE DCV 服务器 对结果进行分页以显示每页两个结果 from swagger_client.models.describe_servers_request_data import DescribeServersRequestData def get_sessions_api(): api_instance = swagger_client.serversapi(swagger_client.apiclient(get_client_configuration())) set_request_headers(api_instance.api_client) return api_instance def describe_servers(server_ids=none, next_token=none, max_results=none): request = DescribeServersRequestData(server_ids=server_ids, next_token=next_token, max_results=max_results) print('describe Servers Request:', request) api_instance = get_servers_api() api_response = api_instance.describe_servers(body=request) print('describe Servers Response', api_response) def main(): describe_sessions(max_results=2) Response 下面是示例输出 "RequestId": "request-id-123", "Servers": [ "Id": "ServerId123", "Ip": "1.1.1.123", "Hostname": "node001", "Endpoints": [ "Port": 8443, "WebUrlPath": "/", "Protocol": "HTTP" ], "Version": "2021.0.10000", 17

Example, "SessionManagerAgentVersion": "2021.0.300", "Availability": "UNAVAILABLE", "UnavailabilityReason": "SERVER_FULL", "ConsoleSessionCount": 1, "VirtualSessionCount": 0, "Host": "Os": "Family": "windows", "Name": "Windows Server 2016 Datacenter", "Version": "10.0.14393", "BuildNumber": "14393", "Memory": "TotalBytes": 8795672576, "UsedBytes": 1743886336, "Swap": "TotalBytes": 0, "UsedBytes": 0, "Aws": "Region": "us-west-2b", "EC2InstanceType": "t2.large", "EC2InstanceId": "i-123456789", "EC2ImageId": "ami-12345678987654321", "CpuInfo": "Vendor": "GenuineIntel", "ModelName": "Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz", "Architecture": "x86_64", "NumberOfCpus": 2, "PhysicalCoresPerCpu": 3, "CpuLoadAverage": "OneMinute": 0.04853546, "FiveMinutes": 0.21060601, "FifteenMinutes": 0.18792416, "Gpus": [], "LoggedInUsers": [ "Username": "Administrator" ], "Tags": [ "Key": "color", "Value": "pink", "Key": "dcv:os-family", "Value": "windows", "Key": "size", "Value": "small", "Key": "dcv:max-virtual-sessions", "Value": "0" ] "Id": "server-id-12456897", 18

Example "Ip": "1.1.1.145", "Hostname": "node002", "Endpoints": [ "Port": 8443, "WebUrlPath": "/", "Protocol": "HTTP", "Port": 8443, "Protocol": "QUIC" ], "Version": "2021.0.10000", "SessionManagerAgentVersion": "2021.0.0", "Availability": "AVAILABLE", "ConsoleSessionCount": 0, "VirtualSessionCount": 5, "Host": "Os": "Family": "linux", "Name": "Amazon Linux", "Version": "2", "KernelVersion": "4.14.203-156.332.amzn2.x86_64", "Memory": "TotalBytes": 32144048128, "UsedBytes": 2184925184, "Swap": "TotalBytes": 0, "UsedBytes": 0, "Aws": "Region": "us-west-2a", "EC2InstanceType": "g3s.xlarge", "EC2InstanceId": "i-123456789", "EC2ImageId": "ami-12345678987654321", "CpuInfo": "Vendor": "GenuineIntel", "ModelName": "Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz", "Architecture": "x86_64", "NumberOfCpus": 4, "PhysicalCoresPerCpu": 2, "CpuLoadAverage": "OneMinute": 2.24, "FiveMinutes": 0.97, "FifteenMinutes": 0.74, "Gpus": [ "Vendor": "NVIDIA Corporation", "ModelName": "GM204GL [Tesla M60]" ], "LoggedInUsers": [ "Username" : "user45687", "Username" : "user789" ], 19

DescribeSessions ] "Tags": [ "Key": "size", "Value": "big", "Key": "dcv:os-family", "Value": "linux", "Key": "dcv:max-virtual-sessions", "Value": "10", "Key": "color", "Value": "blue" ] DescribeSessions 描述一个或多个 NICE DCV 会话 主题 请求参数 (p. 4) 响应参数 (p. 6) Example (p. 7) 请求参数 SessionIds 要描述的会话的 ID 类型 : 字符串 : 必需否 NextToken 用于检索下一页结果的令牌 类型 : 字符串 : 必需否 Filters 要应用于请求的其他过滤器 支持的筛选条件包括 : 标签 :key- 分配给会话的标签 所有者 - 会话所有者 类型 : 字符串 : 必需否 20

响应参数 响应参数 Id 会话的唯一 ID Name 会话的名称 Owner 会话的所有者 Server 有关运行会话的服务器的信息 此数据结构包括以下嵌套响应参数 : Ip NICE DCV 服务器主机的 IP 地址 Hostname NICE DCV 服务器主机的主机名 Port NICE DCV 服务器与 NICE DCV 客户端通信的端口 Tags 分配给会话的标签 此数据结构包括以下嵌套响应参数 : Key 标签键 Value 标签值 Type 会话的类型 State 会话的当前状态 可能的值有 : CREATING- 经纪商正在创建会话 READY- 会话已准备好接受客户端连接 DELETING- 正在删除会话 DELETED- 会话已删除 UNKNOWN- 无法确定会话的状态 代理和代理可能无法通信 CreationTime 创建会话的日期和时间 21

Example LastDisconnectionTime 上次断开客户端连接的日期和时间 NumOfConnections 活动的客户端连接数 StorageRoot 指定用于会话存储的文件夹的路径 有关 NICE DCV 会话存储的更多信息, 请参阅启用会话存储中的 NICE DCV 管理员指南 类型 : 字符串 : 必需否 Example Python Request 下面示例说明了由 user1 并且有一个 os=windows from swagger_client.models.describe_sessions_request_data import DescribeSessionsRequestData from swagger_client.models.key_value_pair import KeyValuePair 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 describe_sessions(session_ids=none, next_token=none, tags=none, owner=none): filters = list() if tags: for tag in tags: filter_key_value_pair = KeyValuePair(key='tag:' + tag['key'], value=tag['value']) filters.append(filter_key_value_pair) if owner: filter_key_value_pair = KeyValuePair(key='owner', value=owner) filters.append(filter_key_value_pair) request = DescribeSessionsRequestData(session_ids=session_ids, filters=filters, next_token=next_token) print('describe Sessions Request:', request) api_instance = get_sessions_api() api_response = api_instance.describe_sessions(body=request) print('describe Sessions Response', api_response) def main(): describe_sessions( owner='user1', tags=['key': 'os', 'Value': 'windows']) Response 下面是示例输出 22

DeleteSessions "Sessions": [ "Id": "SessionId1897", "Name": "a session name", "Owner": "an owner 1890", "Server": "Ip": "1.1.1.123", "Hostname": "server hostname", "Port": "1222", "Tags": [ "Key": "os", "Value": "windows", "Key": "ram", "Value": "4gb" ], "Type": "VIRTUAL", "State": "READY", "CreationTime": "2020-10-06T10:15:31.633Z", "LastDisconnectionTime": "2020-10-06T10:15:31.633Z", "NumOfConnections": 2, "StorageRoot" : "/storage/root", "Id": "SessionId1895", "Name": "a session name", "Owner": "an owner 1890", "Server": "Ip": "1.1.1.123", "Hostname": "server hostname", "Port": "1222", "Tags": [ "Key": "os", "Value": "windows", "Key": "ram", "Value": "4gb" ], "Type": "VIRTUAL", "State": "DELETING", "CreationTime": "2020-10-06T10:15:31.633Z", "LastDisconnectionTime": "2020-10-06T10:15:31.633Z", "NumOfConnections": 2, "StorageRoot" : "/storage/root" ] DeleteSessions 删除指定的 NICE DCV 会话, 并将其从 Broker 的缓存中删除 主题 23

请求参数 请求参数 (p. 4) 响应参数 (p. 6) Example (p. 7) 请求参数 SessionId Owner Force 要删除的会话的 ID 类型 : 字符串 : 必需是 要删除的会话的所有者 类型 : 字符串 : 必需是 从 Broker 缓存中删除会话, 尝试从 NICE DCV 服务器中删除会话 这对于从 Broker 缓存中删除过时的会话非常有用 例如, 如果 NICE DCV 服务器已停止, 但会话仍在 Broker 上注册, 请使用此标志从 Broker 缓存中清除会话 请记住, 如果会话仍处于活动状态, 它将由 Broker 重新缓存 有效值 :true false 类型 : Boolean : 必需否 响应参数 SessionId State 会话 ID 仅在成功删除会话时返回 指示会话的当前状态 如果请求成功完成, 会话将转换为 DELETING 状态 删除会话可能需要几分钟 当它被删除时, 状态将从 DELETING 到 DELETED FailureReason 仅在无法删除某些会话时返回 指明无法删除会话的原因 Example Python Request 以下示例删除两个会话 ID 为 SessionId123 所拥有的 user1, 以及一个 ID 为 SessionIdabc 所拥有的 user99 24

GetSessionConnectionData from swagger_client.models.delete_session_request_data import DeleteSessionRequestData 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 delete_sessions(sessions_to_delete, force=false): delete_sessions_request = list() for session_id, owner in sessions_to_delete: a_request = DeleteSessionRequestData(session_id=session_id, owner=owner, force=force) delete_sessions_request.append(a_request) print('delete Sessions Request:', delete_sessions_request) api_instance = get_sessions_api() api_response = api_instance.delete_sessions(body=delete_sessions_request) print('delete Sessions Response', api_response) def main(): delete_sessions([('sessionid123', 'an owner user1'), ('SessionIdabc', 'user99')]) Response 下面是示例输出 SessionId123 已成功删除, 而 SessionIdabc 无法删除 "RequestId": "10311636-df90-4cd1-bcf7-474e9675b7cd", "SuccessfulList": [ "SessionId": "SessionId123", "State": "DELETING" ], "UnsuccessfulList": [ "SessionId": "SessionIdabc", "FailureReason": "The requested dcvsession does not exist" ] GetSessionConnectionData 获取特定用户连接到特定 NICE DCV 会话的连接信息 主题 请求参数 (p. 4) 响应参数 (p. 6) Example (p. 7) 请求参数 SessionId 要查看其连接信息的会话的 ID 25

响应参数 类型 : 字符串 : 必需是 User 要查看其连接信息的用户的名称 类型 : 字符串 : 必需是 响应参数 Id 会话的唯一 ID Name 会话的名称 Owner 会话的所有者 Server 有关运行会话的服务器的信息 此数据结构包括以下嵌套响应参数 : Ip NICE DCV 服务器主机的 IP 地址 Hostname NICE DCV 服务器主机的主机名 Port NICE DCV 服务器与 NICE DCV 客户端通信的端口 WebUrlPath NICE DCV 服务器配置文件的路径 Tags 分配给会话的标签 此数据结构包括以下嵌套响应参数 : Key 标签键 Value 标签值 Type 会话的类型 26

Example State 会话的当前状态 可能的值有 : CREATING- 经纪商正在创建会话 READY- 会话已准备好接受客户端连接 DELETING- 正在删除会话 DELETED- 会话已删除 UNKNOWN- 无法确定会话的状态 代理和代理可能无法通信 CreationTime 创建会话的日期和时间 LastDisconnectionTime 上次断开客户端连接的日期和时间 NumOfConnections 用户与会话的并发连接数 ConnectionToken 用于连接到会话的身份验证令牌 Example Python Request 以下示例获取用户名为 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_session_connection_data(session_id, user): api_response = get_session_connection_api().get_session_connection_data(session_id=session_id, user=user) print('get Session Connection Data Response:', api_response) def main(): get_session_connection_data('sessionid12345', 'user1') Response 下面是示例输出 27

GetSessionScreenshots "Session": "Id": "sessionid12345", "Name": "a session name", "Owner": "an owner 1890", "Server": "Ip": "1.1.1.123", "Hostname": "server hostname", "Port": "1222", "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. tngikxevuxhhjvm3bpjyrs9npe4gcjrtc13exampleixnepph5imcvmrofu1wkpnry4ypptp3rsz7ywjctsfs1gon3r_nlfyaxf Kqtpd5GH0D-E8FwsedV- Q2bRQ4y9y1q0MgFU4QjaSMypUuYR0YjkCaoainjmEZew4A33fG40wATrBvoivBiNWdNpytHX2CDOuk_k0k_DWeZjMvv9jF1f5EX h_gamghmltqbia4jdpd7i0cmc2e7413kfy- EQ4Ej1cM7RjLwhFuWpKWAVJxogJjYpfoKKaPo4KxvJjJIPYhkscklINQpe2W5rnlxCq7sC7ptcGw17DUobP7egRv9H37VD8SrkL hk1g4g8erhvl9hirtr9_c884fnrtcc8dvc062e4kydlkahhjmbon9cagigfyd2c1ay_czzvdl0examle" GetSessionScreenshots 获取一个或多个 NICE DCV 会话的屏幕截图 屏幕截图的图像文件类型和分辨率取决于会话管理器 Broker 配置 要修改图像文件类型, 请配置 sessionscreenshot-format 参数 要修改分辨率, 请配置 session-screenshot-max-width 和 sessionscreenshot-max-height 参数 有关更多信息, 请参阅 代理配置文件中的 NICE DCV 会话管理器管理员指南 主题 请求参数 (p. 4) 响应参数 (p. 6) Example (p. 7) 请求参数 SessionId 要从中获取屏幕截图的 NICE DCV 会话的 ID 类型 : 字符串 28

响应参数 : 必需是 响应参数 RequestId 请求的唯一 ID SuccessfulList 有关成功屏幕截图的信息 此数据结构包括以下嵌套响应参数 : SessionScreenshot 有关截图的信息 此数据结构包括以下嵌套响应参数 : SessionId 从中拍摄屏幕截图的 NICE DCV 会话的 ID Images 有关图像的信息 此数据结构包括以下嵌套响应参数 : Format 图像的格式 可能的值包括 :jpeg 和 png Data 屏幕截图图像 base64 编码格式 CreationTime 截取屏幕截图的日期和时间 Primary 指示屏幕截图是否为 NICE DCV 会话的主显示屏 UnsuccessfulList 有关不成功的屏幕截图的信息 此数据结构包括以下嵌套响应参数 : GetSesionScreenshotRequestData 失败的原始请求 SessionId 要从中截取屏幕截图的 NICE DCV 会话的 ID FailureReason 失败的原因 Example Python Request 以下示例从两个会话 (sessionid1 和 sessionid2) 会话 sessionid2 不存在, 并导致失败 29

OpenServers from swagger_client.models.describe_servers_request_data import DescribeServersRequestData def get_sessions_api(): api_instance = swagger_client.serversapi(swagger_client.apiclient(get_client_configuration())) set_request_headers(api_instance.api_client) return api_instance def get_session_screenshots(session_ids): request = [GetSessionScreenshotRequestData(session_id=session_id) for session_id in session_ids] print('get Session Screenshots Request:', request) api_instance = get_sessions_api() api_response = api_instance.get_session_screenshots(body=request) print('get Session Screenshots Response:', api_response) def main(): get_session_screenshots(["sessionid1", "sessionid2"]) Response 下面是示例输出 "RequestId": "542735ef-f6ab-47d8-90e5-23df31d8d166", "SuccessfulList": [ "SessionScreenshot": "SessionId": "sessionid1", "Images": [ "Format": "png", "Data": "ivborw0kggoaaaansuheugaaaexample", "CreationTime": "2021-03-30T15:47:06.822Z", "Primary": true ] ], "UnsuccessfulList": [ "GetSessionScreenshotRequestData": "SessionId": "sessionid2", "FailureReason": "Dcv session not found." ] OpenServers 打开一个或多个 NICE DCV 服务器 在 NICE DCV 服务器上创建 NICE DCV 会话之前, 必须将服务器的状态更改为开放 NICE DCV 服务器开放, 您可以在服务器上创建 NICE DCV 会话 主题 请求参数 (p. 4) 响应参数 (p. 6) 30

请求参数 Example (p. 7) 请求参数 ServerId 要打开的服务器的 ID 类型 : 字符串 : 必需是 响应参数 RequestId 请求的唯一 ID SuccessfulList 有关已成功打开的 NICE DCV 服务器的信息 此数据结构包括以下嵌套响应参数 : ServerId 已成功打开的服务器的 ID UnsuccessfulList 有关无法打开的 NICE DCV 服务器的信息 此数据结构包括以下嵌套响应参数 : OpenServerRequestData 有关失败的原始请求的信息 此数据结构包括以下嵌套响应参数 : ServerId 无法打开的 NICE DCV 服务器的 ID FailureCode 失败的代码 FailureReason 失败的原因 Example Python Request 以下示例打开两个 NICE DCV 服务器 (serverid1 和 serverid2) from swagger_client.models import OpenServerRequestData def get_servers_api(): api_instance = swagger_client.serversapi(swagger_client.apiclient(get_client_configuration())) 31

UpdateSessionPermissions set_request_headers(api_instance.api_client) return api_instance def open_servers(server_ids): request = [OpenServerRequestData(server_id=server_id) for server_id in server_ids] print('open Servers Request:', request) api_instance = get_servers_api() api_response = api_instance.open_servers(body=request) print('open Servers Response:', api_response) def main(): open_servers(["serverid1", "serverid2"]) Response 下面是示例输出 "RequestId": "1e64830f-0a27-41bf-8147-0f3411791b64", "SuccessfulList": [ "ServerId": "serverid1" ], "UnsuccessfulList": [ "OpenServerRequestData": "ServerId": "serverid2", "FailureCode": "DCV_SERVER_NOT_FOUND", "FailureReason": "Dcv server not found." ] UpdateSessionPermissions 更新特定 NICE DCV 会话的用户权限 主题 请求参数 (p. 4) 响应参数 (p. 6) Example (p. 7) 请求参数 SessionId 要更改其权限的会话的 ID 类型 : 字符串 : 必需是 Owner 要更改其权限的会话的所有者 32

响应参数 类型 : 字符串 : 必需是 PermissionFile 要使用的权限文件的 Base64 编码内容 有关更多信息, 请参阅 配置 NICE DCV 授权中的 NICE DCV 管理员指南 类型 : 字符串 : 必需是 响应参数 SessionId 会话 ID Example Python Request 以下示例为会话 ID 为 SessionId1897 from swagger_client.models.update_session_permissions_request_data import UpdateSessionPermissionsRequestData def get_session_permissions_api(): api_instance = swagger_client.sessionpermissionsapi(swagger_client.apiclient(get_client_configuration())) set_request_headers(api_instance.api_client) return api_instancedef update_session_permissions(session_permissions_to_update): update_session_permissions_request = list() for session_id, owner, permissions_base64_encoded in session_permissions_to_update: a_request = UpdateSessionPermissionsRequestData( session_id=session_id, owner=owner, permissions_file=permissions_base64_encoded) update_session_permissions_request.append(a_request) print('update Session Permissions Request:', update_session_permissions_request) api_instance = get_session_permissions_api() api_response = api_instance.update_session_permissions(body=update_session_permissions_request) print('update Session Permissions Response:', api_response) def main(): update_session_permissions([('sessionid1897', 'an owner 1890', 'file_base64_encoded')]) Response 下面是示例输出 'request_id': 'd68ebf66-4022-42b5-ba65-99f89b18c341', 'successful_list': [ ' 33

Example session_id': 'SessionId1897' ], 'unsuccessful_list': [] 34

发行说明 NICE DCV 会话管理器的发布说明和文档历史记录 此页面提供 NICE DCV 会话管理器的发布说明和文档历史记录 主题 NICE DCV 会话管理器发行说明 (p. 35) 文档历史记录 (p. 36) NICE DCV 会话管理器发行说明 此部分按发布日期描述 NICE DCV 会话管理器功能 改进和错误修复 主题 二零一八年五月三十一日 (p. 35) 二零一八年四月十二日 (p. 35) 二零一二年十二月四日 (p. 36) 二零一二年十一月十一日 (p. 36) 二零一八年五月三十一日 内部版本号新功能更改和错误修复 Broker: 214 客服 :365 添加了对在 Linux 上传递到自动运行文件的输入参数的支持 服务器属性作为传递给创建会话 API 修复了 Windows 上自动运行文件的问题 二零一八年四月十二日 内部版本号 Broker: 183 客服 :318 更改和错误修复 引入了以下新 API: 打开服务器 闭合服务器 DescribeServers 获取会话屏幕截图 引入了以下新配置参数 : Broker Configuration:sessionscreenshot-max-width sessionscreenshot-max-height sessionscreenshot-format create-sessions- 35

二零一二年十二月四日 内部版本号 更改和错误修复 queue-max-size, 和 create-sessionsqueue-max-time-seconds 客服参数 :agent.autorun_folder max_virtual_sessions, 和 max_concurrent_sessions_per_user 二零一二年十二月四日 内部版本号 Broker: 114 客服 :211 更改和错误修复 修复了阻止 Broker 启动的自动生成的 TLS 证书的问题 二零一二年十一月十一日 内部版本号 Broker: 78 客服 :183 更改和错误修复 NICE DCV 会话管理器的初始版本 文档历史记录 下表介绍此版本的 NICE DCV 会话管理器的文档 变更描述日期 尼斯 DCV 版本 2021.0 NICE DCV 会话管理器的初始版本 NICE DCV 会话管理器已更新为 NICE DCV 2021.0 有关更多信息, 请参阅二零一八年四月十二日 (p. 35) 此内容的第一版 2021 年 4 月 12 日 2020 年 11 月 11 日 36

本文属于机器翻译版本 若本译文内容与英语原文存在差异, 则一律以英文原文为准 xxxvii