华为云用户手册

  • 什么是Apdex? Apdex全称是Application Performance Index,是由Apdex联盟开发的用于评估应用性能的工业标准。Apdex标准从用户的角度出发,将对应用响应时间的表现,转为用户对于应用性能的可量化范围为0-1的满意度评价。 Apdex的原理 Apdex定义了应用响应时间的门槛为T(即Apdex阈值,T由性能评估人员根据预期性能要求确定),然后根据应用响应时间结合T定义了三种不同的性能表现: Satisfied(满意):应用响应时间低于或等于T,比如T为1.5s,则一个耗时1s的响应结果则可以认为是satisfied的。 Tolerating(可容忍):应用响应时间大于T,但同时小于或等于4T。假设应用设定的T值为1s,则4*1=4s为应用响应时间的容忍上限。 Frustrated(烦躁期):应用响应时间大于4T。 APM 如何计算Apdex APM中,Apdex阈值即请求响应达到满意程度的最大时间。应用响应时延即服务时延,Apdex取值范围为0~1,计算公式如下: Apdex=(满意样本+可容忍样本*0.5)/样本总数
  • 探针性能开销对比 序号 压测样板 智能采样对比 100%采样率对比 - RT CPU 内存 RT CPU 内存 1 1TPS +1.31ms +0% +50MB +1.33ms +0% +50MB 2 500TPS +1.63ms +7% +50MB +2.97ms +9% +50MB 3 1000TPS +2.67ms +8% +50MB +5.34ms +10% +150MB 4 2000TPS +3.62ms +10% +50MB +5.53ms +20% +150MB
  • 测试流程 在不安装探针的情况下,分别使用1TPS、500TPS、1000TPS、2000TPS压测样本,每次的持续时长为30分钟,压测结果将作为基线性能指标。 安装探针,采样策略设置为智能采样和100%采样两种情况下,重复步骤1的压测过程,对比CPU、内存、RT上的差异。 安装带Profiler探针,性能剖析设置为关闭状态,采样策略设置为智能采样和100%采样两种情况下,重复步骤1的压测过程,对比CPU、内存、RT上的差异。
  • 安装探针性能极限指标 表1 智能采样 序号 压测样本 RT(ms) CPU(%) 内存(MB) 1 1TPS 78.36 0.4 250 2 500TPS 79.05 18 300 3 1000TPS 81.84 31 350 4 2000TPS 86.81 55 400 表2 100%采样 序号 压测样本 RT(ms) CPU(%) 内存(MB) 1 1TPS 78.38 0.4 250 2 500TPS 80.39 20 300 3 1000TPS 84.51 33 450 4 2000TPS 88.72 65 500
  • 测试环境 工具/服务 版本/规格 说明 JVisualVM 1.8.0_216 JVisualVM是Java自带性能监控工具,监视和管理控制台JConsole,它可以提供 Java 某个进程的内存、线程、类加载、jvm 概述以及的实时信息。 JMeter 5.3 Apache JMeter是Apache组织开发的基于Java的压力测试工具,在本次测试中主要是用于模拟多用户并发调用APM查询图表接口。 JavaAgent 2.4.11-profiler Java Agent稳定版本 E CS 服务器 Demo应用 2u4g benchmark.jar 通用计算增强型 | 2vCPUs | 4GiB | c7.large.2,节点的操作系统版本为CentOS 7.9。 根据压测源发起请求,会同时访问MySQL和Redis服务,并返回查询值,使用Spring Cloud、Dubbo实现。
  • APM Android SDK和其他同类产品是否兼容? APM工具通常基于ASM框架进行字节码插桩。这种技术允许开发者动态修改应用程序的字节码,以便在不改变源代码的情况下监控性能。 然而,若同时安装多个APM工具,会导致代码多次插桩。不同产品的实现可能相互冲突,进而引发编译错误和性能问题。例如,一个工具可能会修改某个方法的字节码,而另一个工具则可能尝试在同一位置进行修改,这种冲突会导致运行时异常或不一致的行为。此外,频繁的插桩可能还会增加应用的启动时间和运行开销,给性能带来额外负担。 因此,建议在一个项目中只选择安装一个APM工具,以确保应用的稳定性和优化性能。
  • 问题现象 报错信息:java.lang.UnsatisfiedLinkError: /jre/lib/amd64/libfontmanager.so: /apm-javaagent-profiler/apm-javaagent/native-agent/x86/libz.so.1: version `ZLIB_1.2.9' not found (required by /usr/lib64/libpng16.so.16) 这个错误出现在服务日志中,服务程序调用JDK的libfontmanager.so中的方法。出现该错误的原因是由于该so依赖libz.so.1的1.2.9版本,与javaagent中的libz.so.1版本不兼容。
  • 问题现象 此错误一般出现在JVM的标准输出中。Profiler功能进行CPU热点采样时,会同时采集Native(Linux Kernel + JVM + C/C++)以及Java栈,采集Native栈需要对Java中每个线程的perf_event的fd进行MMap,Linux内核中限制了进程perf_event相关的MMap的总内存大小(默认516 K Bytes)。当Java中线程数较多时,会触发限制并在Java标准输出中打印警告信息perf_event mmap failed...。出现这个告警信息,对Java的运行没有副作用,对业务也没有影响,实际的影响是火焰图中看不到Native的栈。一般来说定位CPU热点问题时,只看Java方法栈就够了,您可以忽略此告警。
  • 问题现象 CPU Profiler依赖perf_event_open的系统调用,但因为Linux kernel的Syscall安全策略(seccomp)控制,可能会禁止进程调用特定Syscall。 错误提示如下: [ERROR] xxxx Failed to execute 'start,jfr=7,jstackdepth=100,threads=true,event=cpu,interval=50ms,alloc=512k,wall=50ms,file=xxxx.jfr' [ERROR] xxxx Failed to start Continuous Profile Collector [ERROR] xxxx No access to perf events. Try --fdtransfer or --all-user option or 'sysctl kernel.perf_event_paranoid=1'
  • 为什么 应用运维管理 AOM中有一条调用链,在APM界面上没有显示? 在企业微服务之间调用复杂的场景下,APM 探针会抽样一些请求,拦截对应请求及后续一系列的调用信息。比如在A调用B然后调用C的场景,请求进入A后,APM系统会采用智能采样算法,决定是否对请求进行调用链跟踪。 AOM 应用运维管理有访问的数据才会显示调用链,而且在显示的时候,一般情况下会有几分钟的延时。 如果没有访问或者没有数据,就不会显示调用链。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 job_id String 任务ID。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 405 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 503 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。
  • 响应示例 状态码: 200 成功响应。 { "count" : 2, "items" : [ { "id" : "394", "connect_type" : "2", "user_name" : "user001@wksapp***.huawei.com", "pre_conn_time" : "2023-06-05T03:34:43Z", "start_time" : "2023-06-05T06:37:47Z", "machine_sid" : "S-1-5-21-1213649063-4191095369-2401105760-1418", "machine_name" : "APS-XS1QJ3TA7T", "failed_reason" : "", "failed_code" : "", "client_mac" : "c8-d9-d2-**-3a-57", "client_name" : "Y002516E2p1", "client_ip" : "10.*73.108.206", "client_version" : "23.2.2.0", "client_type" : "Windows 10", "agent_version" : "23.2.2.0423", "vm_ip" : "10.*.248.130", "connect_flag" : "0", "wi_ip" : "192.**.10.*00\\#192.**.10.23", "update_time" : "2023-06-05T06:37:47Z", "tenant_id" : "a4da8115c9d8464ead3a38309130523f", "virtual_ip" : "" }, { "id" : "112", "connect_type" : "2", "user_name" : "nas01@wksapp***.huawei.com", "pre_conn_time" : "2023-05-23T09:10:03Z", "start_time" : "2023-05-23T09:10:04Z", "end_time" : "2023-05-23T09:16:15Z", "machine_sid" : "S-1-5-21-1213649063-4191095369-2401105760-1395", "machine_name" : "APS-Z5OV9E157G", "failed_reason" : "", "failed_code" : "", "client_mac" : "68-05-ca-**-c7-98", "client_name" : "kdjhfkjhdghschd", "client_ip" : "10.**.**.151", "client_version" : "23.5.0.0", "client_type" : "Windows 10", "agent_version" : "23.5.0.0519", "vm_ip" : "10.*.83.5", "connect_flag" : "0", "wi_ip" : "192.**.10.*00\\#192.**.10.23", "update_time" : "2023-05-23T09:16:15Z", "tenant_id" : "a4da8115c9d8464ead3a38309130523f", "virtual_ip" : "" } ] }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 count Integer 总数。 items Array of UserConnectionInfo objects 应用使用记录列表。 表6 UserConnectionInfo 参数 参数类型 描述 id String 主键。 connect_type String 连接类型。 user_name String 登录用户。 desktop_group_name String 桌面组名。 pre_conn_time String 预连接时间。 start_time String 开始时间。 end_time String 结束时间。 machine_sid String 应用服务器sid。 machine_name String 应用服务器名称。 failed_reason String 连接失败原因。 failed_code String 连接失败状态码。 client_mac String 客户端Mac。 client_name String 客户端名称。 client_ip String 客户端ip。 client_version String 客户端版本。 client_type String 客户端操作系统类型。 agent_version String aps hda版本。 vm_ip String 应用服务器ip。 connect_flag String 连接标志。 wi_ip String 连接IP。 update_time String 更新时间。 tenant_id String 租户id。 virtual_ip String 会话虚拟ip。 public_ip String 客户端出口ip。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 403 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 404 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 405 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 415 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 500 表13 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 503 表14 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表4 请求Body参数 参数 是否必选 参数类型 描述 id 否 String 登录记录唯一标识ID。 connect_type 否 String 用户连接类别。 user_name 否 String 登录用户名称。 machine_sid 否 String 应用服务器sid。 machine_name 否 String 应用服务器名称。 failed_reason 否 String 连接失败原因。 failed_code 否 String 连接失败状态码。 client_name 否 String 客户端名称。 client_version 否 String 客户端版本。 client_type 否 String 客户端操作系统类型。 agent_version 否 String aps hda版本。 vm_ip 否 String 应用服务器ip。 connect_flag 否 String 连接标志,目前值为0。 wi_ip 否 String 连接IP。 public_ip 否 String 客户端出口ip。 update_time 否 String 登录应用开始时间,格式 2022-10-31 08:07:39。 tenant_id 否 String 租户id。 login_start_time 否 String 登录应用开始时间,格式 2022-10-31 08:07:39。 login_end_time 否 String 登录应用结束时间,格式 2022-10-31 08:07:39。 virtual_ip 否 String 会话虚拟ip。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 否 String 发送的实体的MIME类型。 X-Auth-Token 否 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 id_list 否 Array of strings 绑定策略ID列表。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 result_list Array of DeleteTerminalsBindingDesktopsResult objects 需删除的策略ID列表。 表5 DeleteTerminalsBindingDesktopsResult 参数 参数类型 描述 id String 需删除的策略ID。 delete_result_code String 删除操作的结果码。 delete_result_msg String 删除操作的结果信息。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 encoded_authorization_message String 加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 encoded_authorization_message String 加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 encoded_authorization_message String 加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 items Array of AttachServerAppInfo objects 分发软件信息列表。 表4 AttachServerAppInfo 参数 参数类型 描述 id String 分发软件版本ID。 app_id String 分发软件ID。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 405 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 503 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。
  • 响应示例 状态码: 200 查询协同套餐列表响应。 { "total_count" : 2, "products" : [ { "product_id" : "workspace.collaborativedesktop.6party.standard", "descriptions" : "协同资源|6方|标准版。", "resource_type" : "hws.resource.type.collaborativedesktop", "cloud_service_type" : "hws.service.type.vdi", "package_type" : "desktop_sharer", "share_space_size" : "6", "charge_mode" : "0", "is_gpu" : true }, { "product_id" : "workspace.collaborativedesktop.collabpartsubusers.1", "descriptions" : "协同参与方订阅|1用户。", "resource_type" : "hws.resource.type.collaborativedesktop", "cloud_service_type" : "hws.service.type.vdi", "package_type" : "user_sharer", "charge_mode" : "6" } ] }
  • URI GET /v2/{project_id}/products/sharer 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目id。 表2 Query参数 参数 是否必选 参数类型 描述 product_id 否 String 产品ID。 share_space_size 否 String 协同方数。该套餐支持的最大协同人数。 charge_mode 否 String 周期套餐标识。0表示包周期,1表示按需, 6表示一次性计费。 is_gpu 否 Integer 是否是GPU套餐。1表示GPU套餐,0表示非GPU套餐,默认null查询所有类型。 package_type 否 String 套餐系列。user_sharer表示用户协同套餐,desktop_sharer表示桌面协同套餐。 limit 否 Integer 每页数量,范围0-100,默认100。 offset 否 Integer 偏移量,默认0。
  • URI GET /v2/{project_id}/groups/{group_id}/users 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目id。 group_id 是 String 用户组ID。 表2 Query参数 参数 是否必选 参数类型 描述 user_name 否 String 用户名支持模糊查询。 description 否 String 用户描述支持模糊查询。 active_type 否 String 激活类型。 USER_ACTIVATE:用户激活 ADMIN_ACTIVATE:管理员激活 limit 否 String 用于分页查询,返回桌面数量限制。如果不指定或为0,默认2000,最大2000。 offset 否 String 用于分页查询,查询的起始记录序号,从0开始。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 users Array of UserInGroup objects 组关联的用户列表。 total_count Integer 用户列表中用户总数。 表5 UserInGroup 参数 参数类型 描述 id String 用户ID。 user_name String 桌面用户名。 user_email String 用户邮箱。 user_phone String 用户手机号。 total_desktops Integer 用户桌面数。 description String 用户描述。
  • 响应示例 状态码: 200 组关联的用户列表响应。 { "total_count" : 2, "users" : [ { "user_name" : "user1", "user_email" : "xx1@mail.com", "user_phone" : "18818008887", "id" : "8357fd328c62447d94e452bf49xxxx" }, { "user_name" : "user2", "user_email" : "xx2@mail.com", "user_phone" : "18818008888", "id" : "8357fd328c62447d94e452bf495xxxx" } ] }
  • 响应示例 状态码: 200 成功响应。 { "session_info_list" : [ { "id" : "a7db732e1ad511edaf56fa163ed8e03f", "session_stamp" : "S-1-5-21-1908276142-124560728-768171367-1358-zeng**long@wksapp.****huawei.com-HDP-_1", "protocol_type" : "Hdp", "login_user" : "zeng**long@wksapp.****huawei.com", "session_type" : "1", "pre_conn_time" : "2022-08-13 07:00:20", "start_time" : "2022-08-13 07:00:20", "end_time" : "0001-01-01 00:00:00", "machine_sid" : "S-1-5-21-1908276142-**4560728-768171367-1358", "session_state" : "AppcInit", "client_mac" : "3c-7c-3f-**-e4-04", "client_name" : "proven", "client_ip" : "10.**.**.239", "client_version" : "22.4.2.12888", "client_type" : "Windows 10 Enterprise", "agent_version" : "21.12.0.11461", "vm_ip" : "172.**.**.26", "failed_reason" : "success", "failed_code" : "WKS.00000000", "tenant_id" : "26a0420e9e284569a23f1b2f7d9b5011" }, { "id" : "9d123d5e0f36419c9b345efcd031a92e", "session_stamp" : "S-1-5-21-1908276142-124560728-768171367-3006-zeng**long@wksapp.****huawei.com-HDP-2", "os_session_id" : "2", "protocol_type" : "Hdp", "login_user" : "zeng**long@wksapp.****huawei.com", "session_type" : "2", "app_group_id" : "587004825166675968", "app_server_group_id" : "fb8a92be-ebc1-4dac-9a4c-1590518d140a", "pre_conn_time" : "2023-07-07 03:04:06", "start_time" : "2023-07-07 03:04:06", "end_time" : "0001-01-01 00:00:00", "machine_sid" : "S-1-5-21-1908276142-***560728-768171367-3006", "machine_name" : "APS-6NGU98Y4W4", "session_state" : "AppcInit", "app_name" : "HDTransmission,winlogon,HDTerminalExplorer,slui,HDTerminalAssist,fontdrvhost,TSTheme,ChsIME,ctfmon,csrss,HDTerminalSystem,dwm,ChsIME,sihost,HDTerminalDisplay,TabTip32,svchost,svchost,HDTerminalUser,taskhostw,TabTip", "client_mac" : "3c-7c-3f-**-e4-04", "client_name" : "proven", "client_ip" : "10.*.97.212", "client_version" : "23.2.2.0", "client_type" : "Windows 10 Enterprise", "agent_version" : "23.2.0.0314", "vm_ip" : "172.*.*.41", "failed_reason" : "success", "failed_code" : "WKS.00000000", "tenant_id" : "26a0420e9e284569a23f1b2f7d9b5011" } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 session_info_list Array of AppSession objects 会话信息列表。 表5 AppSession 参数 参数类型 描述 id String 主键ID。 session_stamp String 会话标识。 os_session_id String 会话在hda的os中会话id。 protocol_type String 协议类型。 login_user String 当前会话的登录用户。 session_type String 会话类型,1表示共享桌面,2表示应用。 app_group_id String App组ID。 app_server_group_id String AppServer组ID。 pre_conn_time String 预连接时间。 start_time String 会话开始时间。 end_time String 会话结束时间。 status_continue_time String 状态持续时间。 machine_sid String 服务器SID。。 machine_name String 服务器名称。 session_state String 会话状态。 app_name String 会话中的应用名称。 client_mac String 客户端Mac地址。 client_name String 客户端名称。 client_ip String 客户端IP。 public_ip String 客户端出口ip。 client_version String 客户端版本。 client_type String 客户端类型。 agent_version String agent版本。 vm_ip String 服务器IP。 failed_reason String 错误原因消息。 failed_code String 错误原因码。 last_update_status_time String 状态最后变化时间。 tenant_id String 租户ID。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 404 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 405 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 415 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 500 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 503 表13 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 发送的实体的MIME类型,如:application/json。 表3 请求Body参数 参数 是否必选 参数类型 描述 group_name 是 String 用户组名称。 platform_type 是 String 用户组类型。 AD: AD域用户组 LOCAL: 本地liteAs用户组 description 否 String 用户组描述。
  • 响应参数 状态码: 201 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 encoded_authorization_message String 加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 encoded_authorization_message String 加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 encoded_authorization_message String 加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 encoded_authorization_message String 加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 encoded_authorization_message String 加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。 状态码: 405 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 encoded_authorization_message String 加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 encoded_authorization_message String 加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。 状态码: 503 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 encoded_authorization_message String 加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 otp_config_info OtpConfigInfo object OTP辅助认证方式配置。 表4 OtpConfigInfo 参数 参数类型 描述 enable Boolean 是否启用。 receive_mode String 验证码接收模式 VMFA:虚拟MFA设备 HMFA:硬件MFA设备 auth_url String 辅助认证服务器地址。 app_id String 认证服务接入账号。 app_secret String 认证服务接入密码。 auth_server_access_mode String 辅助认证服务接入模式 INTERNET:互联网接入 DEDICATED:专线接入 SYSTEM_DEFAULT:系统默认 cert_content String pem格式证书内容。 apply_rule ApplyRuleInfo object 认证应用对象信息,为null时代表对所有应用对象生效。 表5 ApplyRuleInfo 参数 参数类型 描述 rule_type String 认证应用对象类型。 AC CES S_MODE:接入类型 rule String 认证应用对象。 INTERNET:互联网接入,rule_type为ACCESS_MODE时可选该值 PRIVATE:专线接入,rule_type为ACCESS_MODE时可选该值 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 encoded_authorization_message String 加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 encoded_authorization_message String 加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 encoded_authorization_message String 加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。 状态码: 404 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 encoded_authorization_message String 加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 encoded_authorization_message String 加密后的详细拒绝原因,用户可以自行调用STS服务的decode-authorization-message接口进行解密。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 username String 用户名。 biz_type String 接入阶段 | APP - 应用 DESKTOP - 桌面。 stages Array of UserAccessStage objects 接入各阶段详情。 表5 UserAccessStage 参数 参数类型 描述 stage String 接入阶段 | LOG IN - 登录 PRECONNECT - 预连接 CONNECT - 正式连接。 duration Integer 花费时长,单位:ms。 is_success Boolean 接入阶段是否成功。 start_time Long 开始时间戳。 end_time Long 结束时间戳。 error_code String 错误码。 error_msg String 错误描述。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • 响应示例 状态码: 200 响应成功。 { "username" : "user001", "biz_type" : "APP", "stages" : [ { "stage" : "LOGIN", "duration" : 500, "is_success" : true, "start_time" : 1724328355052, "end_time" : 1724328355052, "error_code" : "WKS.00000000", "error_msg" : "OK" } ] }
  • 请求示例 { "type" : "string", "add_volume_param" : { "desktop_pool_id" : "string", "desktop_ids" : [ "string" ], "promotion_plan_id" : "string", "volume_type" : "string", "volume_size" : 8200 }, "extend_volume_param" : { "desktop_pool_id" : "string", "desktop_ids" : [ "string" ], "promotion_plan_id" : "string", "desktop_pool_disk_id" : "string", "new_size" : 8200 }, "resize_param" : { "desktop_pool_id" : "string", "desktop_ids" : [ "string" ], "promotion_plan_id" : "string", "product_id" : "string", "mode" : "string", "extend_param" : { "is_auto_pay" : "string" } }, "change_image_param" : { "desktop_pool_id" : "string", "desktop_ids" : [ "string" ], "promotion_plan_id" : "string", "image_spec_code" : "string", "image_id" : "string", "delay_time" : 15, "message" : "string" }, "add_sub_resources_param" : { "desktop_pool_id" : "string", "desktop_ids" : [ "string" ], "promotion_plan_id" : "string", "sub_resource_sku" : "string" }, "delete_sub_resources_param" : { "desktop_pool_id" : "string", "desktop_ids" : [ "string" ], "promotion_plan_id" : "string", "sub_resource_type" : "string" } }
共100000条