华为云用户手册

  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 参数解释: IAM 用户的token。 获取方法请参见获取IAM用户Token。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 表3 请求Body参数 参数 是否必选 参数类型 描述 applicationId 否 String 参数解释: 应用ID。 约束限制: 不涉及。 取值范围: 由英文字母和数字组成,且长度为32个字符。 默认取值: 不涉及。 params 否 VersionModel object 参数解释: 请求参数对象。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 表4 VersionModel 参数 是否必选 参数类型 描述 branch 否 VersionModelBranch object 参数解释: 分支对象。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 checkOutTime 否 String 参数解释: 检出时间。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 checkOutUserName 否 String 参数解释: 检出用户名称。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 createTime 否 String 参数解释: 创建时间。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 creator 否 String 参数解释: 创建者。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 description 否 String 参数解释: 描述信息。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 id 否 String 参数解释: 唯一标识。 约束限制: 不涉及。 取值范围: -9223372036854775808到9223372036854775807的整数。 默认取值: 不涉及。 kiaguid 否 String 参数解释: 关键信息资产ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 lastUpdateTime 否 String 参数解释: 最后更新时间。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 master 否 VersionModelMaster object 参数解释: 主对象。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 modifier 否 String 参数解释: 更新者。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 name 否 String 参数解释: 中文名称。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 needSetNullAttrs 否 Array of strings 参数解释: 设置NULL值的属性名称。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 rdmExtensionType 否 String 参数解释: 扩展类型。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 securityLevel 否 String 参数解释: 安全密级。 约束限制: 不涉及。 取值范围: INTERNAL:内部公开。 SECRET:秘密。 CONFIDENTIAL:机密。 TOP_SECRET:绝密。 默认取值: 不涉及。 表5 VersionModelBranch 参数 是否必选 参数类型 描述 createTime 否 String 参数解释: 创建时间。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 creator 否 String 参数解释: 创建者。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 id 否 String 参数解释: 唯一标识。 约束限制: 不涉及。 取值范围: -9223372036854775808到9223372036854775807的整数。 默认取值: 不涉及。 lastUpdateTime 否 String 参数解释: 最后更新时间。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 modifier 否 String 参数解释: 更新者。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 needSetNullAttrs 否 Array of strings 参数解释: 设置NULL值的属性名称。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 rdmExtensionType 否 String 参数解释: 扩展类型。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 表6 VersionModelMaster 参数 是否必选 参数类型 描述 createTime 否 String 参数解释: 创建时间。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 creator 否 String 参数解释: 创建者。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 id 是 String 参数解释: 唯一标识。 约束限制: 不涉及。 取值范围: -9223372036854775808到9223372036854775807的整数。 默认取值: 不涉及。 lastUpdateTime 否 String 参数解释: 最后更新时间。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 modifier 否 String 参数解释: 更新者。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 needSetNullAttrs 否 Array of strings 参数解释: 设置NULL值的属性名称。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 rdmExtensionType 否 String 参数解释: 扩展类型。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。
  • URI POST /rdm_{identifier}_app/publicservices/api/{modelName}/updateByAdmin 表1 路径参数 参数 是否必选 参数类型 描述 identifier 是 String 参数解释: 应用唯一标识。 约束限制: 不涉及。 取值范围: 由英文字母和数字组成,且长度为32个字符。 默认取值: 不涉及。 modelName 是 String 参数解释: 数据模型的英文名称。 约束限制: 不涉及。 取值范围: 大写字母开头,只能包含字母、数字、"_",且长度为[1-60]个字符。 默认取值: 不涉及。
  • 与其他服务的关系 云容器实例需要与其他云服务协同工作,云容器实例需要获取如下云服务资源的权限。 图1 云容器实例与其他服务的关系 容器镜像服务 容器 镜像服务 (Software Repository for Container,SWR)是一种支持容器镜像全生命周期管理的服务, 提供简单易用、安全可靠的镜像管理功能,帮助用户快速部署容器化服务。 您可以使用容器镜像服务中的镜像创建负载。 虚拟私有云 虚拟私有云(Virtual Private Cloud,VPC)是用户在云平台上申请的隔离的、私密的虚拟网络环境。用户可以自由配置VPC内的IP地址段、子网、安全组等子服务,也可以申请弹性带宽和弹性IP搭建业务系统。 您创建命名空间时,需要创建或关联VPC,创建在命名空间的容器都运行在VPC之内。 弹性负载均衡 弹性负载均衡( Elastic Load Balance,ELB)将访问流量自动分发到多台云服务器,扩展应用系统对外的服务能力,实现更高水平的应用容错。 您可以通过弹性负载均衡,从外部网络访问容器负载。 应用运维管理 应用运维管理(Application Operations Management, AOM )为运维人员提供一站式立体运维平台,实时监控应用、资源运行状态,通过数十种指标、告警与日志关联分析,快速锁定问题根源,保障业务顺畅运行。 云容器实例对接了AOM,AOM会采集容器日志存储中的“.log”等格式日志文件,转储到AOM中,方便您查看和检索;并且云容器实例基于AOM进行资源监控,为您提供弹性伸缩能力。 云硬盘服务 云硬盘(Elastic Volume Service,EVS)提供持久性块存储的服务,通过数据冗余和缓存加速等多项技术,提供高可用性和持久性,以及稳定的低时延性能。您可以对云硬盘做格式化、创建文件系统等操作,并对数据做持久化存储。 您可以使用云硬盘作为容器的持久化存储,在创建负载的时候挂载到容器上。 对象存储服务 对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,包括:创建、修改、删除桶,上传、下载、删除对象等。 您可以使用对象存储服务作为容器的持久化存储,在创建任务的时候挂载到容器上。 弹性文件服务 弹性文件服务(Scalable File Service)为用户提供托管的共享文件存储,符合标准文件协议(NFS),能够弹性伸缩至PB规模,具备可扩展的性能,为海量数据、高带宽型应用提供有力支持。 您可以使用弹性文件服务作为容器的持久化存储,在创建任务负载的时候挂载到容器上。 弹性云服务器 弹性云服务器(Elastic Cloud Server)是一种可随时自助获取、可弹性伸缩的云服务器,帮助用户打造可靠、安全、灵活、高效的应用环境。 云容器实例通过E CS 将数据导入到SFS,进而供容器业务使用。 NAT网关 NAT网关能够为VPC内的容器实例提供 网络地址转换 (Network Address Translation)服务,SNAT功能通过绑定弹性公网IP,实现私有IP向公有IP的转换,可实现VPC内的容器实例共享弹性公网IP访问Internet。 您可以通过NAT网关设置SNAT规则,使得容器能够访问Internet。 数据加密 服务 数据加密服务(Data Encryption Workshop, DEW)是一个综合的云上数据加密服务。它提供密钥管理(KMS)、凭据管理(C SMS )、密钥对管理(KPS)、专属加密(DHSM)四个微服务,安全可靠的为您解决数据安全、密钥安全、密钥管理复杂等问题。其密钥由硬件安全模块(Hardware Security Module,HSM) 保护,并与多个华为云服务集成。您也可以借此服务开发自己的加密应用。
  • 策略授权系统权限 CCI服务支持基于策略授权的授权模型。如表4所示,包括了CCI基于策略授权中的所有系统策略。策略授权的系统策略与角色授权的系统策略并不互通。 表4 CCI系统策略 系统策略名称 描述 策略类别 CCIFullAccessPolicy 云容器实例服务所有权限 系统策略 CCIReadOnlyPolicy 云容器实例服务只读访问权限 系统策略 表5列出了CCI常用操作与系统策略的授权关系,您可以参照该表选择合适的系统策略。 表5 常用操作与系统策略的关系 操作 CCIFullAccessPolicy CCIReadOnlyPolicy 创建Pod √ x 删除Pod √ x 查看Pod √ √ 查看资源使用率 √ √ 创建文件存储卷 x x 删除文件存储卷 x x 查看文件存储卷 √ √ 创建ConfigMap √ x 删除ConfigMap √ x 查看ConfigMap √ √ 创建Secret √ x 删除Secret √ x 查看Secret √ √ 查看日志 √ √ 获取指定namespace √ √ 创建namespace √ x 删除namespace √ x
  • 角色授权系统权限 CCI服务支持基于角色授权的授权模型。默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 CCI部署时通过物理区域划分,为项目级服务。授权时,“授权范围”需要选择“指定区域项目资源”,然后在指定区域(如华北-北京四)对应的项目(cn-north-4)中设置相关权限,并且该权限仅对此项目生效;如果“授权范围”选择“所有资源”,则该权限在所有区域项目中都生效。访问CCI时,需要先切换至授权区域。 如表2所示,包括了CCI的所有系统权限。基于角色授权场景的系统策略与基于策略授权场景的并不互通。 表2 CCI系统权限 系统策略名称 描述 类别 CCI FullAccess 云容器实例所有权限,拥有该权限的用户可以执行云容器实例所有资源的创建、删除、查询、更新操作。 说明: 对象存储服务OBS为全局级服务,若需要使用对象存储服务请为其单独授予权限,授权操作请参见对象存储服务权限控制。 系统策略 CCI ReadOnlyAccess 云容器实例只读权限,拥有该权限的用户仅能查看云容器实例资源。 系统策略 CCI CommonOperations 云容器实例普通用户,拥有该权限的用户可以执行除RBAC、network和namespace子资源创建、删除、修改之外的所有操作。 系统策略 CCI Administrator 云容器实例管理员权限,拥有该权限的用户可以执行云容器实例所有资源的创建、删除、查询、更新操作。 系统角色 表3列出了CCI常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。 表3 常用操作与系统策略的关系 操作 CCI FullAccess CCI ReadOnlyAccess CCI CommonOperations 创建无状态负载 √ x √ 删除无状态负载 √ x √ 查看无状态负载 √ √ √ 升级负载 √ x √ 伸缩负载 √ x √ 删除Pod √ x √ 查看Pod √ √ √ 创建任务 √ x √ 删除任务 √ x √ 查看任务 √ √ √ 创建定时任务 √ x √ 删除定时任务 √ x √ 查看定时任务 √ √ √ 查看资源使用率 √ √ √ 添加云硬盘卷 √ x √ 删除云硬盘卷 √ x √ 查看云硬盘卷 √ √ √ 创建文件存储卷 √ x √ 删除文件存储卷 √ x √ 查看文件存储卷 √ √ √ 创建ConfigMap √ x √ 删除ConfigMap √ x √ 查看ConfigMap √ √ √ 创建Secret √ x √ 删除Secret √ x √ 查看Secret √ √ √ 添加SSL证书 √ x √ 删除SSL证书 √ x √ 查看SSL证书 √ √ √ 添加日志存储 √ x √ 查看日志 √ √ √ 安装插件 √ x √ 删除插件 √ x √ 查看插件 √ √ √ 查看授权 √ √ √ 新增授权 √ x x 删除授权 √ x x 获取指定namespace √ √ √ 创建namespace √ x x 删除namespace √ x x 创建network √ x x 删除network √ x x 查询network列表 √ √ √ 查询network详情 √ √ √
  • 功能介绍 伙伴在销售平台按照条件查询按需产品的价格。 如果购买该产品的租户享受折扣,可以在查询结果中返回折扣金额以及扣除折扣后的最后成交价。 如果该租户享受多种折扣,系统会优先返回客户享受的商务折扣的折扣金额和最终成交价。 华为云根据云服务类型、资源类型、云服务区和资源规格四个条件来查询产品,查询时请确认这4个查询条件均输入正确,否则该接口会返回无法找到产品的错误。 如果只是临时查询产品价格,可以到价格计算器查询。 询价Api入参参数product_infos取值可以参考价格计算器查询入参,详情见按需询价示例。
  • 状态码 状态码4xx:由于明显的客户端错误(例如,格式错误的请求语法、参数错误等),华为云会返回4xx错误码,请及时检查请求消息的正确性,重新发起请求。 状态码5xx:由于华为云系统原因,导致无法完成明显有效请求的处理,可及时联系华为云客服处理。 HTTP状态码 错误码 错误描述 400 CBC.0100 参数错误。 400 CBC.99006006 产品未发现。 400 CBC.99006050 使用量单位错误。 400 CBC.99006055 询价结果超过金额最大限制。 400 CBC.99006074 计费因子不存在。 403 CBC.0151 拒绝访问。 500 CBC.0999 其他错误。
  • 状态码 状态码4xx:由于明显的客户端错误(例如,格式错误的请求语法、参数错误等),华为云会返回4xx错误码,请及时检查请求消息的正确性,重新发起请求。 状态码5xx:由于华为云系统原因,导致无法完成明显有效请求的处理,可及时联系华为云客服处理。 HTTP状态码 错误码 描述 400 CBC.0100 参数错误。 400 CBC.99000037 您没有操作该云经销商的权限。 403 CBC.0151 访问拒绝。 500 CBC.0999 其他错误。
  • URI GET /v2/promotions/benefits/coupons 参数说明请参见下表。 表1 查询参数 参数 是否必选 参数类型 取值范围 描述 coupon_id 否 String 最大长度:64 优惠券ID。 此参数不携带或携带值为空时,不作为筛选条件。 order_id 否 String 最大长度:64 订单ID。 此参数不携带或携带值为空时,不作为筛选条件。 promotion_plan_id 否 String 最大长度:64 促销计划ID。 此参数不携带或携带值为空时,不作为筛选条件。 coupon_type 否 Integer [1-4] 优惠券类型: 1:代金券 此参数不携带或携带值为空或携带值为null时,不作为筛选条件;不支持携带值为空串。 status 否 Integer [1-5] 客户优惠券实例状态: 2:待使用 3:已使用 4:已过期 5:已回收 此参数不携带或携带值为空时,不作为筛选条件。 active_start_time 否 String 最大长度:64 激活开始时间。 UTC时间,格式:yyyy-MM-dd'T'HH:mm:ss'Z',如“2019-05-06T08:05:01Z”。其中,HH范围是0~23,mm和ss范围是0~59。 此参数不携带或携带值为空时,不作为筛选条件;不支持携带值为空串或携带值为null。 active_end_time 否 String 最大长度:64 激活结束时间。 UTC时间,格式:yyyy-MM-dd'T'HH:mm:ss'Z',如“2019-05-06T08:05:01Z”。其中,HH范围是0~23,mm和ss范围是0~59。 此参数不携带或携带值为空时,不作为筛选条件;不支持携带值为空串或携带值为null。 offset 否 Integer [0-最大整数] 偏移量,从0开始。默认值为0。 说明: offset用于分页处理,如不涉及分页,请使用默认值0。offset表示相对于满足条件的第一个数据的偏移量。如offset = 1,则返回满足条件的第二个数据至最后一个数据。 示例1,满足查询条件的结果共10条数据,limit取值为10,offset取值为1,则返回的数据为2~10,第一条数据不返回。 示例2,查询总数20条,期望每页返回10条数据,则获取第一页数据,入参offset填写0,limit填写10;获取第二页数据,入参offset填写10,limit填写10。 limit 否 Integer [1-100] 查询的优惠券数量,默认值为10。 source_id 否 String 最大长度:255 发券来源,如果是合作伙伴发送的券,此处为伙伴ID。 如果需要查询某个伙伴发放的券,可以在此处输入该伙伴ID。 此参数不携带或携带值为空或携带值为null时,不作为筛选条件;携带值为空串时,作为筛选条件。 indirect_partner_id 否 String 最大长度:64 云经销商(二级经销商)ID。 华为云总经销商(一级经销商)查询云经销商名下的优惠券时,需要携带该参数;除此之外,此参数不做处理。否则只能查询自己的优惠券列表。
  • 使用场景 云应用主要用在如下场景: 简单办公场景 办公场景的特征是计算机主要用来进行日常办公及固定的行业软件使用。针对这种场景,若采用普通虚拟桌面或PC解决方案,用户只使用了虚拟桌面或PC机很少的能力,但仍然需购买PC,增加了成本。使用云应用可以大幅减少用户的硬件投资及操作系统投资。 简单办公场景的典型远程应用场景如下: 任务型工作:用户通过Intranet或Internet使用公司集中部署的OA、Notes、其他业务系统等,无需在终端上安装相关软件。 双网隔离:在内外网隔离环境下,但是用户又有访问外部网络的需求时,可将浏览器通过云应用平台发布出来,所有访问外部网络的操作都在云应用上完成,而用户个人机器并没有访问外部网络的权限,保证了用户数据的安全性。 父主题: 简介
  • 使用限制 在实际应用时,有以下几个方面的使用限制: 仅支持“帐号和密码”作为登录认证方式时使用。 仅支持能部署在Windows Server 2016和Windows Server 2019操作系统上的应用。 对于远程桌面方式(RDP)登录APS服务器,目前仅支持管理员帐户。 RD Licensing服务器的Windows Server版本必须等于或高于RDS CAL版本,RDS CAL版本必须等于或高于APS服务器的Windows Server版本。 远程应用不支持锁屏操作。 软件兼容性 部署应用软件要求: 软件必须支持多实例运行,能同时打开多个程序实例。 不支持需要以管理员权限才能够运行的软件。 不支持安装到个人用户目录的软件。 Profile和个人用户数据存储 若用户需保存个人数据,必须配置Profile和个人用户数据存储。在没有配置Profile和个人用户数据存储的场景下,建议不要在APS服务器中保存个人数据,避免个人信息被其他用户访问,导致信息泄露。 远程应用的用户Profile数据存储使用Windows的“漫游用户配置”和“文件夹重定向”两个功能来提供,存储在由第三方提供的共享的文件服务器上,该方案依赖于微软的实现,只支持用户的应用配置接入到一台服务器:用户通过打开多个应用同时接入多个应用服务器时,将同时存在多份漫游用户配置拷贝,此时如果分别修改过用户配置,将出现配置冲突、修改的配置无法正常保存到漫游用户配置中。 用户个人数据使用共享的存储系统,存储系统由第三方提供(如NAS)。 云应用基于Windows Server的RDS服务来发布应用,用户之间通过会话隔离,相互的基本操作互不影响。但操作系统及应用程序提供给所有用户共享使用,一旦操作系统或应用程序本身出现故障或出现安全问题,会影响所有用户。云应用不适用于对安全及用户隔离有较高需求的用户。 云应用为无状态服务器,数据备份依赖于应用软件自身的能力。请及时将文件、资料等数据同步到本地磁盘或NAS文件服务器。如应用使用过程中网络异常中断或用户购买的AD服务器异常等导致用户不能接入应用,华为云对此不承担责任。 父主题: 简介
  • 已开通服务总览页面 开通云应用服务后,您可以按照流程引导制作镜像、创建服务器及创建应用组,如图2所示。 图2 总览信息 已创建服务器及创建应用组后,在“总览”页面,您可以查看用户使用率趋势、告警通知、云应用的资源监控等。 用户使用率据趋势中,您可以查看周期内(5分钟、1小时、一天)固定时间段(当天、近7天、近30天、自定义时间段)的失败用户数、在线会话数等详细数据趋势如图3所示。 图3 数据趋势 今日接入失败用户数 在“今日接入失败用户数”上方单击“查看”,跳转至“应用记录”的“用户接入失败统计”页签。 您可以查看用户接入失败统计记录信息,如连接用户、接入失败次数(连续三分钟接入失败则记为失败一次;同一个用户单日多次失败记为一个用户)、最近一次接入失败时间、错误码、错误信息等。 单击左列下的“查看”,跳转至“应用使用记录”页签,可以查看具体的应用记录信息。 在线会话数 在“在线会话数”上方单击“查看”,跳转至“会话管理”界面。 您可以看会话相关的详细信息,如用户名、服务器名称/IP、服务器组名称/ID、会话类型等。 告警通知页面,您可以查看云应用的告警总数、告警级别、告警信息等,如图4所示,单击“查看详情”跳转至 云监控服务 页面查看详细的告警信息。 图4 告警通知 资源监控页面,您可以查看APS资源使用率、主机资源使用率(如未购买云办公专属主机,默认主机资源使用率为0),如图5所示。 图5 资源监控 根据资源实例的CPU使用率或内存使用率划分低负载、中负载、高负载三个档位。 低负载:CPU使用率 ≤ 50%且内存使用率≤70% 中负载:CPU使用率>50%或者内存使用率>70% 高负载:CPU使用率>70%或者内存使用率>85%
  • 操作步骤 登录管理控制台。 在左侧导航中单击“上网管理”页面。 进入“互联网访问”页面。 单击互联网页面右上角“开通互联网”。 弹出“开通互联网”界面。 配置开通互联网信息,如表1所示 开通大规模增强型互联网会为您创建以下网络资源: 1.NAT网关(Public NAT Gateway)可轻松构建VPC的公网出入口。 2.弹性公网IP(Elastic IP)提供独立的公网IP资源,包括公网IP地址与公网出口带宽服务。 表1 配置信息 参数类型 说明 样例 开通类型 每个子网需配置一个NAT网关和一个弹性公网IP,开通后,子网内所有桌面可访问互联网。 大规模增强型(NAT网关+弹性公网IP) 计费模式 按需计费。 - 网络 根据需求选择VPC和子网。 - NAT网关名称 为了支持 云服务器访问外网 ,并节省IP资源,需要通过高性能的NAT网关实现NAT业务,了解更多。 网关名称只能由中文、英文字母、数字、下划线(_)、中横线(-)组成。 说明: 新建网关还需要配置VPC子网路由才能够正常使用。教我设置。 - NAT网关规格 NAT网关的规格是指公网与 私网NAT网关 支持的SNAT最大连接数。了解更多 分为小、中、大、超大4中规格。 - EIP名称 弹性公网IP(Elastic IP,简称EIP)提供独立的公网IP资源,包括公网IP地址与公网出口带宽服务。了解更多。 - 公网宽带 按业务场景选择带宽计费类型。 按带宽计费:指定带宽上限,按使用时间计费,与使用的流量无关。适用于流量较大或较稳定场景使用。带宽范围:1~280Mbit/s。 按流量计费:指定带宽上限,按实际使用的出公网流量计费,与使用时间无关。适用于流量小或流量波动较大的场景。带宽范围:1~260Mbit/s - 企业项目 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。用户根据需求自行选择。 - 单击“确认”,购买完成。
  • 注意事项 切换网络会同时更改 云桌面 子网、IP地址、MAC地址,导致云桌面网络中断。 切换网络过程中,请勿操作云桌面的弹性公网IP。 切换网络后,请重新配置网络相关的服务和应用软件(例如NAT、DNS等)。 切换网络会切换私有IP地址,如果已绑定EIP的桌面切换网络设置后未能绑定EIP,请麻烦手动绑定。 切换网络后,如果桌面内IP未正常获取,请尝试重启桌面。 更换桌面安全组时,请检查使用的安全组是否已放通桌面接入业务要求的出入方向规则,如果未放通将会影响桌面接入。 关机的桌面切换网络,会先启动桌面切换网络并切换完成后关机。
  • SDK功能矩阵 Java、Python、C、.NET、Node.js、Android SDK对OBS各接口的支持情况请参见表1。 iOS、PHP、Go、BrowserJS、Harmony SDK对OBS各接口的支持情况请参见表2。 表1 OBS SDK功能矩阵1 接口类型 接口名 函数名/特性归属函数名 Java Python C .NET Node.js Android 桶相关接口 获取桶列表 listBuckets √ √ √ √ √ √ 创建桶 createBucket √ √ √ √ √ √ 列举桶内对象 listObjects √ √ √ √ √ √ 列举桶内多版本对象 listVersions √ √ √ √ √ √ 获取桶元数据 getBucketMetadata √ √ × √ √ √ 获取桶区域位置 getBucketLocation √ √ × √ √ √ 删除桶 deleteBucket √ √ √ √ √ √ 设置桶策略 setBucketPolicy √ √ √ √ √ √ 获取桶策略 getBucketPolicy √ √ √ √ √ √ 删除桶策略 deleteBucketPolicy √ √ √ √ √ √ 设置桶ACL setBucketAcl √ √ √ √ √ √ 获取桶ACL getBucketAcl √ √ √ √ √ √ 设置桶日志管理配置 setBucketLogging、setBucketLoggingConfiguration √ √ √ √ √ √ 获取桶日志管理配置 getBucketLogging、getBucketLoggingConfiguration √ √ √ √ √ √ 设置桶的生命周期配置 setBucketLifecycle、setBucketLifecycleConfiguration √ √ √ √ √ √ 获取桶的生命周期配置 getBucketLifecycle、getBucketLifecycleConfiguration √ √ √ √ √ √ 删除桶的生命周期配置 deleteBucketLifecycle、deleteBucketLifecycleConfiguration √ √ √ √ √ √ 设置桶的多版本状态 setBucketVersioning、setBucketVersioningConfiguration √ √ √ √ √ √ 获取桶的多版本状态 getBucketVersioning、getBucketVersioningConfiguration √ √ √ √ √ √ 设置桶存储类型 setBucketStoragePolicy √ √ √ √ √ √ 获取桶存储类型 getBucketStoragePolicy √ √ √ √ √ √ 设置桶的跨区域复制配置 setBucketReplication × × × × × × 获取桶的跨区域复制配置 getBucketReplication × × × × × × 删除桶的跨区域复制配置 deleteBucketReplication × × × × × × 设置桶标签 setBucketTagging √ √ √ √ √ √ 获取桶标签 getBucketTagging √ √ √ √ √ √ 删除桶标签 deleteBucketTagging √ √ √ √ √ √ 设置桶配额 setBucketQuota √ √ √ √ √ √ 获取桶配额 getBucketQuota √ √ √ √ √ √ 获取桶存量信息 getBucketStorageInfo √ √ √ √ √ √ 设置桶的网站配置 setBucketWebsite、setBucketWebsiteConfiguration √ √ √ √ √ √ 获取桶的网站配置 getBucketWebsite、getBucketWebsiteConfiguration √ √ √ √ √ √ 删除桶的网站配置 deleteBucketWebsite、deleteBucketWebsiteConfiguration √ √ √ √ √ √ 设置桶的CORS配置 setBucketCors √ √ √ √ √ √ 获取桶的CORS配置 getBucketCors √ √ √ √ √ √ 删除桶的CORS配置 deleteBucketCors √ √ √ √ √ √ 设置桶清单配置 setBucketInventory √ × × × × × 获取桶清单配置 getBucketInventory √ × × × × × 列举桶清单配置 listBucketInventory √ × × × × × 删除桶清单配置 deleteBucketInventory √ × × × × × 设置桶归档对象直读策略 setDirectcoldaccess × × × × × × 获取桶归档对象直读策略 getDirectcoldaccess × × × × × × 删除桶归档对象直读策略 deleteDirectcoldaccess × × × × × × 设置桶的加密配置 setBucketEncryption × × × × × × 获取桶的加密配置 getBucketEncryption × × × × × × 删除桶的加密配置 deleteBucketEncryption × × × × × × 设置桶的自定义 域名 配置 setBucketCustomedomain × × × × × × 获取桶的自定义域名配置 getBucketCustomdomain × × × × × × 删除桶的自定义域名配置 deleteBucketCustomdomain × × × × × × 对象相关接口 PUT上传对象 putObject √ √ √ √ √ √ 复制对象 copyObject √ √ √ √ √ √ 获取对象内容 getObject √ √ √ √ √ √ 获取对象元数据 getObjectMetadata √ √ √ √ √ √ 删除对象 deleteObject √ √ √ √ √ √ 批量删除对象 deleteObjects √ √ √ √ √ √ 恢复归档存储对象 restoreObject √ √ √ √ √ √ 追加写对象 appendObject √ √ √ √ √ √ 设置对象ACL setObjectAcl √ √ √ √ √ √ 获取对象ACL getObjectAcl √ √ √ √ √ √ 修改对象元数据 setObjectMetadata √ √ × × × √ 列举桶中已初始化多段任务 listMultipartUploads √ √ √ √ √ √ 初始化上传段任务 initiateMultipartUpload √ √ √ √ √ √ 上传段 uploadPart √ √ √ √ √ √ 拷贝段 copyPart √ √ √ √ √ √ 列举已上传的段 listParts √ √ √ √ √ √ 合并段 completeMultipartUpload √ √ √ √ √ √ 取消多段上传任务 abortMultipartUpload √ √ √ √ √ √ POSIX特性 创建支持POSIX协议的桶 newBucket √ × √ × × √ 指定列举POSIX桶 listBuckets √ × × × × √ 修改写对象 modifyObject √ × √ × × √ 重命名对象 renameObject √ × √ × × √ 截断POSIX文件 truncateObject √ × √ × × √ 临时鉴权 计算临时授权签名URL createSignedUrl(python、go)createTemporarySignature(java) √ √ √ √ √ √ 计算POST表单鉴权参数 createPostSignature、createBrowserBasedSignature √ √ × × √ √ 支持Security Token鉴权 N/A √ √ √ √ √ √ 新特性 上传对象支持设置生命周期 putObject、initiateMultipartUpload √ √ √ √ √ √ 支持多项目管理特性(epid) createBucket、getBucketMetadata √ √ × × × √ 下载对象支持设置图片转码参数 getObject √ √ √ √ √ √ 列举桶支持返回桶的区域信息 listBuckets √ √ √ √ √ √ 增值功能 上传对象支持流式上传 putObject √ √ √ √ √ √ 下载对象支持流式下载 getObject √ √ √ √ √ √ 上传段支持流式上传 uploadPart √ √ √ √ √ √ 分段上传文件(含断点续传能力) uploadFile √ √ √ √ √ √ 分段下载文件(含断点续传能力) downloadFile √ √ √ √ √ √ 支持根据对象名后缀自动设置MIME类型 putObject、initiateMultipartUpload √ √ × √ √ √ 支持设置HTTP代理 N/A √ √ √ √ × √ 异步化接口 N/A × × × √ √ × 支持批量恢复对象 N/A × × × × × × 支持批量下载对象 N/A × × × × × × 支持批量上传对象 N/A × × × × × × 支持批量复制对象 N/A × × × × × × 数据传输支持进度条 putObject、uploadFile、uploadPart、getObject、downloadFile √ √ × √ × √ 支持长短连接配置 N/A √ √ × √ √ √ 支持配置日志 N/A √ √ √ √ √ √ 表2 OBS SDK功能矩阵2 接口类型 接口名 函数名/特性归属函数名 iOS PHP Go BrowserJS Harmony 桶相关接口 获取桶列表 listBuckets √ √ √ × √ 创建桶 createBucket √ √ √ × √ 列举桶内对象 listObjects √ √ √ √ √ 列举桶内多版本对象 listVersions √ √ √ √ √ 获取桶元数据 getBucketMetadata √ √ √ √ √ 获取桶区域位置 getBucketLocation √ √ √ √ √ 删除桶 deleteBucket √ √ √ √ √ 设置桶策略 setBucketPolicy √ √ √ √ √ 获取桶策略 getBucketPolicy √ √ √ √ √ 删除桶策略 deleteBucketPolicy √ √ √ √ √ 设置桶ACL setBucketAcl √ √ √ √ √ 获取桶ACL getBucketAcl √ √ √ √ √ 设置桶日志管理配置 setBucketLogging、setBucketLoggingConfiguration √ √ √ √ √ 获取桶日志管理配置 getBucketLogging、getBucketLoggingConfiguration √ √ √ √ √ 设置桶的生命周期配置 setBucketLifecycle、setBucketLifecycleConfiguration √ √ √ √ √ 获取桶的生命周期配置 getBucketLifecycle、getBucketLifecycleConfiguration √ √ √ √ √ 删除桶的生命周期配置 deleteBucketLifecycle、deleteBucketLifecycleConfiguration √ √ √ √ √ 设置桶的多版本状态 setBucketVersioning、setBucketVersioningConfiguration √ √ √ √ √ 获取桶的多版本状态 getBucketVersioning、getBucketVersioningConfiguration √ √ √ √ √ 设置桶存储类型 setBucketStoragePolicy √ √ √ √ √ 获取桶存储类型 getBucketStoragePolicy √ √ √ √ √ 设置桶的跨区域复制配置 setBucketReplication × × × × × 获取桶的跨区域复制配置 getBucketReplication × × × × × 删除桶的跨区域复制配置 deleteBucketReplication × × × × × 设置桶标签 setBucketTagging √ √ √ √ √ 获取桶标签 getBucketTagging √ √ √ √ √ 删除桶标签 deleteBucketTagging √ √ √ √ √ 设置桶配额 setBucketQuota √ √ √ √ √ 获取桶配额 getBucketQuota √ √ √ √ √ 获取桶存量信息 getBucketStorageInfo √ √ √ √ √ 设置桶的网站配置 setBucketWebsite、setBucketWebsiteConfiguration √ √ √ √ √ 获取桶的网站配置 getBucketWebsite、getBucketWebsiteConfiguration √ √ √ √ √ 删除桶的网站配置 deleteBucketWebsite、deleteBucketWebsiteConfiguration √ √ √ √ √ 设置桶的CORS配置 setBucketCors √ √ √ √ √ 获取桶的CORS配置 getBucketCors √ √ √ √ √ 删除桶的CORS配置 deleteBucketCors √ √ √ √ √ 设置桶清单配置 setBucketInventory × × × × × 获取桶清单配置 getBucketInventory × × × × × 列举桶清单配置 listBucketInventory × × × × × 删除桶清单配置 deleteBucketInventory × × × × × 设置桶归档对象直读策略 setDirectcoldaccess × × × × × 获取桶归档对象直读策略 getDirectcoldaccess × × × × × 删除桶归档对象直读策略 deleteDirectcoldaccess × × × × × 设置桶的加密配置 setBucketEncryption × × √ × √ 获取桶的加密配置 getBucketEncryption × × √ × √ 删除桶的加密配置 deleteBucketEncryption × × √ × √ 设置桶的自定义域名配置 setBucketCustomedomain × × √ × √ 获取桶的自定义域名配置 getBucketCustomdomain × × √ × √ 删除桶的自定义域名配置 deleteBucketCustomdomain × × √ × √ 对象相关接口 PUT上传对象 putObject √ √ √ √ √ 复制对象 copyObject √ √ √ √ √ 获取对象内容 getObject √ √ √ √ √ 获取对象元数据 getObjectMetadata √ √ √ √ √ 删除对象 deleteObject √ √ √ √ √ 批量删除对象 deleteObjects √ √ √ √ √ 恢复归档存储对象 restoreObject √ √ √ √ √ 追加写对象 appendObject √ × √ √ √ 设置对象ACL setObjectAcl √ √ √ √ √ 获取对象ACL getObjectAcl √ √ √ √ √ 修改对象元数据 setObjectMetadata √ √ √ √ √ 列举桶中已初始化多段任务 listMultipartUploads √ √ √ √ √ 初始化上传段任务 initiateMultipartUpload √ √ √ √ √ 上传段 uploadPart √ √ √ √ √ 拷贝段 copyPart √ √ √ √ √ 列举已上传的段 listParts √ √ √ √ √ 合并段 completeMultipartUpload √ √ √ √ √ 取消多段上传任务 abortMultipartUpload √ √ √ √ √ POSIX特性 创建支持POSIX协议的桶 newBucket × × × × √ 指定列举POSIX桶 listBuckets × × × × √ 修改写对象 modifyObject × × √ × √ 重命名对象 renameObject × × × × √ 截断POSIX文件 truncateObject × × × × √ 临时鉴权 计算临时授权签名URL createSignedUrl(python、go)createTemporarySignature(java) √ √ √ √ √ 计算POST表单鉴权参数 createPostSignature、createBrowserBasedSignature × √ × √ √ 支持Security Token鉴权 N/A √ √ √ √ √ 新特性 上传对象支持设置生命周期 putObject、initiateMultipartUpload × × × √ √ 支持多项目管理特性(epid) createBucket、getBucketMetadata × × √ × √ 下载对象支持设置图片转码参数 getObject × √ √ √ √ 列举桶支持返回桶的区域信息 listBuckets √ √ √ √ √ 增值功能 上传对象支持流式上传 putObject √ √ √ √ × 下载对象支持流式下载 getObject √ √ √ √ × 上传段支持流式上传 uploadPart √ √ √ √ × 分段上传文件(含断点续传能力) uploadFile √ × √ √ × 分段下载文件(含断点续传能力) downloadFile √ × √ × × 支持根据对象名后缀自动设置MIME类型 putObject、initiateMultipartUpload × × √ √ √ 支持设置HTTP代理 N/A √ × √ × × 异步化接口 N/A √ √ × √ √ 支持批量恢复对象 N/A × × × × × 支持批量下载对象 N/A × × × × × 支持批量上传对象 N/A × × × × × 支持批量复制对象 N/A × × × × × 数据传输支持进度条 putObject、uploadFile、uploadPart、getObject、downloadFile √ × × √ × 支持长短连接配置 N/A × × × × × 支持配置日志 N/A √ √ √ √ √
  • 功能说明 考虑到由同一个备份创建的镜像都是相同的,为了节省镜像配额,一个备份只允许创建一个包含系统盘和所有数据盘的整机镜像,可通过这一个整机镜像发放多个弹性云服务器。 已经创建过镜像的备份不允许手动或自动删除,如果想要删除备份,需要先删除该备份创建的镜像。如果备份是随备份策略产生,那在创建镜像后,该备份将不再计算在备份策略的保留规则内,即不会过期自动清理。 使用备份创建镜像时,镜像会对备份进行压缩,所以产生的镜像可能会比备份小。
  • 前提条件 请确保弹性云服务器在备份前已完成如下操作: Linux弹性云服务器优化并安装Cloud-init工具 Windows弹性云服务器优化并安装Cloudbase-init工具 备份的状态必须为“可用”,或者状态为“创建中”并在备份状态列显示“可用于创建镜像”时,才允许执行创建镜像操作。 备份开始创建后会进入“创建中”的状态,一段时间过后,“创建中”的下方会出现“可用于创建镜像”的提示。此时,虽然备份仍在创建中,不能用于恢复,但是可以执行创建镜像的操作。 用于创建镜像的备份必须包含系统盘的备份。 仅支持使用弹性云服务器的备份创建镜像,不支持使用裸金属服务器的备份创建镜像。
  • 工作负载 工作负载是在Kubernetes上运行的应用程序。无论您的工作负载是单个组件还是协同工作的多个组件,您都可以在Kubernetes上的一组Pod中运行它。在Kubernetes中,工作负载是对一组Pod的抽象模型,用于描述业务的运行载体,包括Deployment、StatefulSet、DaemonSet、Job、CronJob等多种类型。 无状态工作负载:即Kubernetes中的“Deployment”,无状态工作负载支持弹性伸缩与滚动升级,适用于实例完全独立、功能相同的场景,如:nginx、wordpress等。 有状态工作负载:即Kubernetes中的“StatefulSet”,有状态工作负载支持实例有序部署和删除,支持持久化存储,适用于实例间存在互访的场景,如ETCD、mysql-HA等。 创建守护进程集:即Kubernetes中的“DaemonSet”,守护进程集确保全部(或者某些)节点都运行一个Pod实例,支持实例动态添加到新节点,适用于实例在每个节点上都需要运行的场景,如ceph、fluentd、Prometheus Node Exporter等。 普通任务:即Kubernetes中的“Job”,普通任务是一次性运行的短任务,部署完成后即可执行。使用场景为在创建工作负载前,执行普通任务,将镜像上传至镜像仓库。 定时任务:即Kubernetes中的“CronJob”,定时任务是按照指定时间周期运行的短任务。使用场景为在某个固定时间点,为所有运行中的节点做时间同步。 图4 工作负载与Pod的关系
  • 亲和性与反亲和性 在应用没有容器化之前,原先一个虚机上会装多个组件,进程间会有通信。但在做容器化拆分的时候,往往直接按进程拆分容器,比如业务进程一个容器,监控日志处理或者本地数据放在另一个容器,并且有独立的生命周期。这时如果分布在网络中两个较远的点,请求经过多次转发,性能会很差。 亲和性:可以实现就近部署,增强网络能力实现通信上的就近路由,减少网络的损耗。如:应用A与应用B两个应用频繁交互,所以有必要利用亲和性让两个应用尽可能地靠近,甚至在一个节点上,以减少因网络通信而带来的性能损耗。 反亲和性:主要是出于高可靠性考虑,尽量分散实例,某个节点故障的时候,对应用的影响只是 N 分之一或者只是一个实例。如:当应用采用多副本部署时,有必要采用反亲和性让各个应用实例打散分布在各个节点上,以提高HA。
  • 命名空间(Namespace) 命名空间是对一组资源和对象的抽象整合。在同一个集群内可创建不同的命名空间,不同命名空间中的数据彼此隔离。使得它们既可以共享同一个集群的服务,也能够互不干扰。例如: 可以将开发环境、测试环境的业务分别放在不同的命名空间。 常见的pods,services,replication controllers和deployments等都是属于某一个namespace的(默认是default),而node,persistentVolumes等则不属于任何namespace。
  • 镜像(Image) Docker镜像是一个模板,是容器应用打包的标准格式,用于创建Docker容器。或者说,Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。在部署容器化应用时可以指定镜像,镜像可以来自于 Docker Hub、容器镜像服务或者用户的私有 Registry。例如一个Docker镜像可以包含一个完整的Ubuntu操作系统环境,里面仅安装了用户需要的应用程序及其依赖文件。 镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。 图5 镜像、容器、工作负载的关系
  • 模板(Chart) Kubernetes集群可以通过Helm实现软件包管理,这里的Kubernetes软件包被称为模板(Chart)。Helm对于Kubernetes的关系类似于在Ubuntu系统中使用的apt命令,或是在CentOS系统中使用的yum命令,它能够快速查找、下载和安装模板(Chart)。 模板(Chart)是一种Helm的打包格式,它只是描述了一组相关的集群资源定义,而不是真正的容器镜像包。模板中仅仅包含了用于部署Kubernetes应用的一系列YAML文件,您可以在Helm模板中自定义应用程序的一些参数设置。在模板的实际安装过程中,Helm会根据模板中的YAML文件定义在集群中部署资源,相关的容器镜像并不会包含在模板包中,而是依旧从YAML中定义好的镜像仓库中进行拉取。 对于应用开发者而言,需要将容器镜像包发布到镜像仓库,并通过Helm的模板将安装应用时的依赖关系统一打包,预置一些关键参数,来降低应用的部署难度。 对于应用使用者而言,可以使用Helm查找模板(Chart)包并支持调整自定义参数。Helm会根据模板包中的YAML文件直接在集群中安装应用程序及其依赖,应用使用者不用编写复杂的应用部署文件,即可以实现简单的应用查找、安装、升级、回滚、卸载。
  • 集群(Cluster) 集群指容器运行所需要的云资源组合,关联了若干云服务器节点、负载均衡等云资源。您可以理解为集群是“同一个子网中一个或多个弹性云服务器(又称:节点)”通过相关技术组合而成的计算机群体,为容器运行提供了计算资源池。 云容器引擎支持的集群类型如下: 集群类型 描述 CCE Standard集群 CCE Standard集群是云容器引擎服务的标准版本集群,提供商用级容器集群服务,并完全兼容开源 Kubernetes 集群标准功能。 CCE Standard集群为您提供简单、低成本、高可用的解决方案,无需管理和运维控制节点,并且可根据业务场景选择使用容器隧道网络模型或VPC网络模型,适合对性能和规模没有特殊要求的通用场景。 CCE Turbo 集群 CCE Turbo集群是基于云原生基础设施构建的云原生2.0容器引擎服务,具备软硬协同、网络无损、安全可靠、调度智能的优势,为用户提供一站式、高性价比的全新容器服务体验。 CCE Turbo集群提供了面向大规模高性能的场景云原生2.0网络,容器直接从VPC网段内分配IP地址,容器和节点可以分属不同子网,支持VPC内的外部网络与容器IP直通,享有高性能。 CCE Autopilot集群 CCE Autopilot是云容器引擎服务推出的Serverless版集群,提供免运维的容器服务,并提供经过优化的Kubernetes兼容能力。 CCE Autopilot集群提供了无用户节点的部署方式,简化了应用部署流程。您无需购买节点,也无需对节点的部署、管理和安全性进行维护,只需要关注应用业务逻辑的实现,可以大幅降低您的运维成本,提高应用程序的可靠性和可扩展性。
  • 升级实例版本 Astro企业应用当前提供了基础版、专业版和企业版三种规格套餐。不同套餐支持的特性差异,请参见产品规格差异。如果您购买的实例无法满足您当前管理需求,则可升级实例版本。 当前仅支持从低规格套餐升级到高规格套餐,不支持降级。规格变更后,不支持回退。 在已购买的实例中,单击“操作”,选择“升级版本”。 图1 选择升级版本 在升级规格页面,选择目标规格,单击“去支付”。 若您购买的是基础版实例,可直接升级到专业版或企业版。若您购买的是专业版实例,仅支持升级到企业版。 图2 选择规格 进入支付页面,选择支付方式,确认付款,支付订单后即可完成规格升级。 父主题: 新手指引
  • AuthObject对象 AuthObject对象即鉴权客体,被鉴权对象。 表2 AuthObject对象参数说明 参数名称 数据类型 描述 projectId String 被鉴权资源所在的项目id,对于不属于项目的资源,允许为空。 对于非多项目应用(MetaService中tenantModel为null或者TENANT),允许为空。 如果为多项目应用(MetaService中tenantModel值为TENANT_PROJECT),则传入projectId。 resource String 被鉴权资源,不允许为空。 根据MetaBOAuthorizeType不同的值,传入对应值。 ROOT:传入BO对象所在的Root BO的id。 TYPE_LEVEL:传入BO name。 INSTANCE_LEVEL:传入BO对象id。
  • AuthSubject对象 AuthSubject对象即鉴权主体。 表1 AuthSubject对象参数说明 参数名称 数据类型 描述 tenantId String 根据用户所在的租户传值: 对于非多租应用(MetaService中tenantModel为空),允许为空。 如果为多租应用(MetaService中tenantModel值为TENANT或者TENANT_PROJECT),则传入tenantId。 uid String 鉴权主体的user id,不允许为空。
  • 认证配置 在配置文件中加入oauth2认证相关配置和devspore相关配置,如下: devspore: auth: exclude-paths: GET:/test # 不需要认证的路径,多个规则用;分隔 auth-patterns: /v1/** # 需要认证的路径,多个规则用;分隔 in-header: true # token是否在header中,默认true token-name: X-Auth-Token # token在header中的参数名,inHeader设置为true时生效,默认X-Auth-Token
  • 实现UserStore接口 import com.huawei.devspore.plugin.spi.authentication.UserInfo; import com.huawei.devspore.plugin.spi.authentication.UserStore; import org.springframework.stereotype.Component; @Component public class CustomUserStore implements UserStore { @Override public void setUserInfo(UserInfo userInfo) { // 自定义存储用户信息 ...... } @Override public UserInfo getUserInfo() { UserInfo userInfo = new UserInfo(); // 自定义用户信息获取 ...... return userInfo; } }
  • 实现TokenParser接口 import com.huawei.devspore.plugin.spi.authentication.UserInfo; import com.huaweicloud.devspore.auth.commons.spi.TokenParser; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.springframework.stereotype.Component; @Component public class CustomTokenParser implements TokenParser { /** * 若token定义在header中,可使用该接口,token获取根据配置由devspore-auth获取 * * @param token * @param response * @return UserInfo */ @Override public UserInfo parserToken(String token, HttpServletResponse response) { // 自定义token解析 ...... // 判断token是否过期 ...... UserInfo userInfo = new UserInfo(); // 根据解析后的token信息填充UserInfo对象 ...... return userInfo; } /** * 若token未定义在header中,使用该接口 * * @param request * @param response * @return UserInfo */ @Override public UserInfo parserToken(HttpServletRequest request, HttpServletResponse response) { // 从httpServletRequest获取token ...... // 自定义token解析 ...... // 判断token是否过期 ...... UserInfo userInfo = new UserInfo(); // 根据解析后的token信息填充UserInfo对象 ...... return userInfo; } }
  • 配置说明 表1 配置说明 参数名 是否必须 功能 devspore.auth.exclude-paths false 不需要认证的路径,多个规则用分号(;)分隔,优先级大于devspore.auth.auth-patterns。 devspore.auth.auth-patterns false 需要认证的路径,多个规则用分号(;)分隔。 devspore.auth.in-header false token是否在header中,默认true。 devspore.auth.token-name false token在header中的参数名,inHeader设置为true时生效,默认“X-Auth-Token”。
共100000条