华为云用户手册

  • 创建组织策略 进入“组织策略管理”页面。 选择“全部策略”页签。 单击“创建策略”,进入“创建策略”页面。 设置策略相关信息。 JSON语法介绍请参见策略语言说明。 通过完全新建的方式创建策略 输入策略名称、策略描述等基本信息。 设置策略效果。 组织策略权限集效果: 拒绝:指定的操作拒绝,其他操作都允许。 允许:指定的操作允许,其他操作都拒绝。 组织策略实现原理: 企业中心添加子账号,子账号默认权限是所有操作都允许做。企业中心增加组织策略,组织策略对子账号的权限做约束。对于拒绝策略,实现时使用的是拒绝指定操作;对于允许策略,实现时使用的是拒绝所有操作,仅仅对允许做的操作不拒绝。 由策略的实现可知当子账号有多条拒绝策略时,每条拒绝策略都会生效。当子账号有多条允许策略时,只会有一条允许策略生效,其他允许策略不生效。因此建议您设置允许策略时,将子账号的所有允许操作都配置到一条策略中。 选择需要进行权限控制的云服务以及权限项。 单击“确认”。 通过复制现有策略的方式创建策略 输入策略名称、策略描述等基本信息。 单击“复制现有策略”。 系统弹出“复制现有策略”对话框。 选择需要的策略。 单击“确定”,已选策略的Action将在策略内容中显示。 根据实际需要修改策略内容中的Action。 单击“校验语法”。 系统提示“未发现语法问题,校验通过”。 单击“确认”。
  • 导出组织和账号的消费明细 进入“消费明细”页面。 选择需要查看消费明细的页签。 包年/包月:根据资源维度展示包年/包月账单信息,同一个资源在一个月中只展示一条数据。 按需:根据资源维度展示按需账单信息,同一个资源在一个月中只展示一条数据。 预留实例:购买了预留实例的用户,可以查看预留实例的消费信息。 选择待导出的账号或组织。 单击“导出”。 设置查询条件,筛选出需要导出的消费明细。 单击“确定”。 即可导出根据查询条件筛选出的消费明细。 系统跳转到“导出记录”页面,客户可以在“导出记录”页面下载导出的消费明细。
  • 支持 云审计 的关键操作列表 表1 云审计服务支持的企业中心操作列表 操作名称 资源类型 事件名称 创建子账号 enterpriseCenter createMemberAccount 邀请子账号 enterpriseCenter inviteExistingAccount 解除关联子账号 enterpriseCenter dissassociateMemberAccount 权限变更请求 enterpriseCenter permissionChangeRequest 接受权限变更请求 enterpriseCenter permissionChangeAccept 拒绝权限变更请求 enterpriseCenter permissionChangeReject 信用额度划拨 enterpriseCenter creditAllocate 账户余额划拨 enterpriseCenter debitAllocate 代金券划拨 enterpriseCenter couponAllocate 信用额度回收 enterpriseCenter creditRetrieve 账户余额回收 enterpriseCenter debitRetrieve 代金券回收 enterpriseCenter couponRetrieve
  • IAM 和企业管理的区别 开通方式 IAM是华为云的身份管理服务,注册系统后,无需付费即可使用。 企业管理是华为云的资源管理服务,注册系统后,可以自助申请开通,开通方法请参见:如何开通企业中心和如何开通企业项目。 企业管理服务本身不收取费用,但企业项目下的资源需要支付相应费用。 资源隔离 IAM通过在区域中创建子项目,隔离同一个区域中的资源。以子项目为单位进行授权,用户可以访问指定子项目中的所有资源。 企业管理通过创建企业项目,隔离企业不同项目之间的资源,企业项目中可以包含多个区域的资源。企业项目还可以实现对特定云资源的授权,例如:将一台特定的E CS 添加至企业项目,对企业项目进行授权后,可以控制用户仅能管理这台特定的ECS。 支持的服务 使用IAM授权的云服务。 企业管理目前支持的云服务请参见支持的云服务。
  • 检查规则 用户在发起访问请求时,系统根据用户被授权的访问策略中的action进行鉴权判断。检查规则如下: 图1 请求鉴权逻辑图 用户发起访问请求。 系统在用户被授予的访问策略中,优先寻找基于IAM项目授权的策略,在策略中寻找请求对应的action。 如果找到匹配的Allow或者Deny的action,系统将返回对请求的鉴权决定,Allow或者Deny,鉴权结束。 如果在基于IAM项目的策略中没有找到请求对应的action,系统将继续寻找基于企业项目授权的策略,在策略中寻找请求对应的action。 如果找到匹配的Allow或者Deny的action,系统将返回对请求的鉴权决定,Allow或者Deny,鉴权结束。 如果用户不具备任何策略,系统将返回鉴权决定Deny,鉴权结束。
  • 调用API获取项目ID 项目ID还可通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "region_id", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • ServiceStage错误码 在向系统发出请求后,如果遇到错误,会在响应中包含响应的错误码描述错误信息。 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 错误码如下所示。 状态码 错误码 错误信息 描述 处理措施 400 SVCSTG.00100400 parameter invalid 错误请求 检查参数是否正确,稍后重试 400 SVCSTG.00100402 component was deployed, uninstall first 组件已部署,请先卸载 卸载组件后重试 400 SVCSTG.00100414 job id can not empty job id不能为空 请指定job id进行查询 400 SVCSTG.00100418 component instance action not defined 未定义组件实例操作 请指定合法的组件实例操作 400 SVCSTG.00100420 runtime not supported 不支持运行时 请指定支持的运行时 400 SVCSTG.00100422 base resource can not empty 基础资源不能为空 请设置基础资源 400 SVCSTG.00100425 instance artifacts can not be empty 实例的软件包或者镜像为空 报文中的artifact参数不能为空 400 SVCSTG.00100449 environment name is already used 环境名已被占用 重新提供一个新的环境名 400 SVCSTG.REPO.0400 parameter invalid 错误请求 检查参数是否正确,稍后重试 400 SVCSTG.REPO.0401 repository not implemented 错误请求 请选择其他仓库类型 400 SVCSTG.REPO.0402 oauth code or state invalid 错误请求 请重新进行OAuth2授权,获取正确的认证码和随机串 400 SVCSTG.REPO.0403 resource already exist 错误请求 调用查询接口,检查是否存在重复的资源 400 SVCSTG.REPO.0450 no repository authorization 错误请求 检查请求header是否输入正确授权名称 400 SVCSTG.REPO.0451 repository authorization invalid 错误请求 重新授权 400 SVCSTG.REPO.0452 clone url invalid 错误请求 检查查询参数clone_url是否正确. 示例:https://user-name@github.com/user-name/demo.git 404 SVCSTG.00100403 application not found 应用未找到 请指定已经存在的应用 404 SVCSTG.00100404 component not found 组件未找到 请指定已经存在的组件 404 SVCSTG.00100408 request not found 请求未找到 请指定已经存在的请求 404 SVCSTG.00100411 environment not found 环境未找到 请指定存在的环境 404 SVCSTG.00100412 instance not found 实例未找到 请对存在的实例进行操作 404 SVCSTG.00100424 elb instance not found elb实例未找到 请指定已经存在的elb实例 404 SVCSTG.00100429 job not found 构建工程未找到 请指定已经存在的构建工程 404 SVCSTG.00100433 application release not found 发布任务未找到 请选择已经存在的发布任务 404 SVCSTG.00100436 snapshot not found 实例快照未找到 请指定已经存在的实例快照 404 SVCSTG.00100438 template image not found 模板镜像未找到 请指定已经存在的模板镜像 404 SVCSTG.00100441 instance version is already used by other instances in the same environment 组件实例的版本号已被相同环境的其他实例所占用 重新提供一个新的版本号 405 SVCSTG.00100421 account is limit suspended 账户已被暂停限额 恢复账号至正常状态 405 SVCSTG.00100427 permission denied 没有权限 重新授权 408 SVCSTG.00100428 request timeout 系统处理超时 系统繁忙,请稍后再试 409 SVCSTG.00100401 application not empty 应用不为空 删除应用下的组件再删除应用 409 SVCSTG.00100413 instance name exists 实例名已经存在 更换实例名 409 SVCSTG.00100419 can not operate in current status 当前状态不能操作 当前操作未完成,请稍后再试 409 SVCSTG.00100423 component instance is not deletable 组件实例当前状态不可删除 当前操作未完成,请稍后再试 409 SVCSTG.00100426 environment is in use 环境已经被使用 删除部署在环境上的实例后再删除环境 409 SVCSTG.00100432 component in releasing 组件当前已在发布任务中 请等待当前发布任务执行结束后再重试 409 SVCSTG.00100435 release can not delete 发布任务当前状态不能删除 当前操作未完成,请稍后再试 409 SVCSTG.00100439 elb is already used in other instance of component elb实例已经在组件中被使用 请使用其他elb实例重试 500 SVCSTG.00100500 service internal error 服务内部错误 系统繁忙,请稍后重试 500 SVCSTG.00100501 remote service error 远程服务错误 系统繁忙,请稍后重试 500 SVCSTG.REPO.0500 service internal error 服务内部错误 网络异常等原因,稍后重试。 500 SVCSTG.REPO.0501 remote repository error 服务内部错误 检查请求参数是否正确,或者远端GIT的仓库文件已经被修改。 父主题: 附录
  • 支持的授权项 策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下: 权限:自定义策略中授权项定义的内容即为权限。 对应API接口:自定义策略实际调用的API接口。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。管理员可以在授权项列表中查看授权项是否支持IAM项目或企业项目,“√”表示支持,“×”表示暂不支持。关于IAM项目与企业项目的区别,请参考IAM与企业管理的区别。 ServiceStage的支持自定义策略授权项,请参考表1。 表1 ServiceStage授权项明细 权限 对应API接口 授权项 IAM项目 企业项目 创建应用 POST /v3/{project_id}/cas/applications servicestage:app:create √ √ 删除应用 DELETE /v3/{project_id}/cas/applications/{application_id} servicestage:app:delete √ √ 更新应用 PUT /v3/{project_id}/cas/applications/{application_id} servicestage:app:modify √ √ 查看应用列表 GET /v3/{project_id}/cas/applications servicestage:app:list √ √ 查询应用信息 GET /v3/{project_id}/cas/applications/{application_id} servicestage:app:get √ √ 修改工程 - servicestage:project:modify √ √ 创建工程 - servicestage:project:create √ √ 审批应用 - servicestage:app:approve √ √ 查看流水线列表 - servicestage:pipeline:list √ √ 修改构建 - servicestage:assembling:modify √ √ 审批流水线 - servicestage:pipeline:review √ √ 执行流水线 - servicestage:pipeline:execute √ √ 查看构建信息 - servicestage:project:get √ √ 删除构建 - servicestage:assembling:delete √ √ 删除流水线 - servicestage:pipeline:delete √ √ 删除工程 - servicestage:project:delete √ √ 修改流水线 - servicestage:pipeline:modify √ √ 创建构建 - servicestage:assembling:create √ √ 查看构建列表 - servicestage:assembling:list √ √ 查看构建信息 - servicestage:assembling:get √ √ 查看工程列表 - servicestage:project:list √ √ 查看流水线信息 - servicestage:pipeline:get √ √ 创建流水线 - servicestage:pipeline:create √ √
  • ServiceDetail 表1 参数说明 参数 是否必选 参数类型 描述 microService 否 MicroService 服务信息。 instances 否 MicroServiceInstance 实例信息。 schemaInfos 否 Schema 微服务的API详细信息。 rules 否 Rule 黑白名单信息。 providers 否 MicroService 所有的provider信息。 consumers 否 MicroService 所有的consumer信息。 tags 否 Tags 微服务所有的标签信息。 microServiceVersions 否 Array,每一项为String 微服务的所有版本信息。 表2 Tags参数说明 参数 是否必选 参数类型 描述 tags 否 Properties 微服务扩展属性请求结构体。 父主题: 公共响应参数
  • AggregateMetricInfo 表1 参数说明 参数 是否必选 参数类型 描述 time 否 Integer 上报时间。 name 否 String 接口名称。 qps 否 Number 当前qps。 latency 否 Number 平均时延。 rate 否 Integer 成功率。 total 否 Integer 总请求数。 isCircuitBreakerOpen 否 Boolean 断路器是否打开。 failure 否 Integer 总失败数。 shortCircuited 否 Integer 总短路个数。 semaphoreRejected 否 Integer 总信号量拒绝个数。 threadPoolRejected 否 Integer 总线程拒绝个数。 countTimeout 否 Integer 总超时个数。 父主题: 公共响应参数
  • ServiceInfo 表1 参数说明 参数 是否必选 参数类型 描述 serviceId 是 String 微服务唯一标识,字符为uuid。正则表达式为^.*$。 appId 是 String 应用app唯一标识,字符长度为1~160。正则表达式为^[a-zA-Z0-9]*$|^[a-zA-Z0-9][a-zA-Z0-9_\-.]*[a-zA-Z0-9]$。 serviceName 是 String 微服务名称,同一个App要保证唯一。字符长度为1~128。正则表达式为^[a-zA-Z0-9]*$|^[a-zA-Z0-9][a-zA-Z0-9_\-.]*[a-zA-Z0-9]$。 version 是 String 微服务版本号,字符长度为1~64。正则表达式为^[0-9]*$|^[0-9]+(\.[0-9]+)*$'。 level 是 String 微服务层级。包括: FRONT MIDDLE BACK status 是 String 服务状态。 UP DOWN timestamp 是 String 时间戳。 父主题: 公共响应参数
  • WatchMicroServiceKey 表1 参数说明 参数 是否必选 参数类型 描述 appId 否 String 应用app唯一标识,字符长度为1~160。正则表达式为^[a-zA-Z0-9]*$|^[a-zA-Z0-9][a-zA-Z0-9_\-.]*[a-zA-Z0-9]$。 serviceName 否 String 微服务名称。作为provider支持为*,表示依赖同一租户下的所有服务。当服务名称为*时,appId和version可以省略。consumer不支持*。 version 否 String 微服务版本。作为provider支持+、固定版本和latest(当前最新版本),如1.0.1+,表示1.0.1以上的版本,包括1.0.1。作为consumer只能为固定版本。 父主题: 公共响应参数
  • DataCenterInfo 表1 参数说明 参数 是否必选 参数类型 描述 name 是 String 数据中心名称,支持数字、字母,支持使用字符_-.做连接符,长度1-128字节。 region 是 String 数据中心所属区 域名 称,支持数字、字母,支持使用字符_-.做连接符,长度1-128字节。 availableZone 是 String 数据中心所属可用区名称,支持数字、字母,支持使用字符_-.做连接符,长度1-128字节。 父主题: 公共请求参数
  • AddOrUpdateRule 表1 参数说明 参数 是否必选 参数类型 描述 ruleType 否 String 类型。 WHITE表示白名单。 BLACK表示黑名单。 attribute 否 String 如果是tag_xxx开头,则按Tag过滤attribute属性。 否则,则按ServiceId、AppId、ServiceName、Version、Description、Level、Status过滤。 pattern 否 String 匹配规则,正则表达式,长度1到64个字符。 description 否 String rule的描述。 字符长度不超过256个字符。 父主题: 公共请求参数
  • Rule 表1 参数说明 参数 是否必选 参数类型 描述 ruleId 否 String 黑白名单ID。 ruleType 是 String 类型。 WHITE表示白名单。 BLACK表示黑名单。 attribute 是 String 如果是tag_xxx开头,则按Tag过滤attribute属性。 否则,则按ServiceId、AppId、ServiceName、Version、Description、Level、Status过滤。 pattern 是 String 匹配规则,正则表达式,长度1到64个字符。 timestamp 否 String 创建rule的时间,只有获取rule时返回使用。 description 否 String Rule的描述信息,字符长度不超过256。 modTimestamp 否 String 最后修改UTC时间。 父主题: 公共请求参数
  • DependencyMicroService 表1 参数说明 参数 是否必选 参数类型 描述 appId 是 String 应用app唯一标识,字符长度为1~160。正则表达式为^[a-zA-Z0-9]*$|^[a-zA-Z0-9][a-zA-Z0-9_\-.]*[a-zA-Z0-9]$。 serviceName 是 String 微服务名称。作为provider支持为*,表示依赖同一租户下的所有服务。当服务名称为*时,appId和version可以省略。consumer不支持*。字符长度为1~128。正则表达式为^[a-zA-Z0-9]*$|^[a-zA-Z0-9][a-zA-Z0-9_\-.]*[a-zA-Z0-9]$。 version 是 String 版本规则,若为微服务引擎专业版,此参数必填;否则,无此参数。 表示精确版本匹配,如:0.0.1 表示后续版本匹配,如:0.0.1+ 表示最新版本,如:latest 表示版本范围,如:0.1.0-0.2.0 environment 是 String 微服务的环境信息。包括: 空 development testing acceptance production 父主题: 公共请求参数
  • FunctionMetricInfo 表1 参数说明 参数 是否必选 参数类型 描述 AggregateMetricInfo 否 Object 聚合指标数据。 l995 否 Integer 99.5%的请求低于此值。 l99 否 Integer 99%的请求低于此值。 l90 否 Integer 90%的请求低于此值。 l75 否 Integer 75%的请求低于此值。 l50 否 Integer 50%的请求低于此值。 l25 否 Integer 25%的请求低于此值。 l5 否 Integer 5%的请求低于此值。 父主题: 参数说明
  • MetricData 表1 参数说明 参数 是否必选 参数类型 描述 name 是 String 服务名称。 appId 是 String 应用Id。 serviceId 否 String 服务Id。 version 是 String 服务版本号。 instanceId 否 String 实例Id。 instance 是 String 实例名称。 thread 否 String 线程数。 cpu 否 String CPU使用率。 memory 否 String 内存。 interfaces 否 表2 实例包含的详细接口数据。 serviceId和instanceId两个参数必须同时存在或者同时不存在。 表2 items参数说明 参数 是否必选 参数类型 描述 items 否 FunctionMetricInfo 接口级别聚合指标数据。 父主题: 参数说明
  • HealthCheck 表1 参数说明 参数 是否必选 参数类型 描述 mode 是 String check模式,push/pull。 port 否 Integer 端口,字符长度不超过65536。正则表达式为^[0-9]*$。 interval 是 Integer 心跳间隔(秒),当值小于5秒时,按5秒注册。字符长度不超过4294967296。正则表达式为^[0-9]+$。 times 是 Integer 最大尝试请求次数,字符长度不超过4294967296。正则表达式为^[0-9]+$。 父主题: 参数说明
  • 响应参数 状态码: 400 表5 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。 状态码: 500 表6 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。
  • 请求示例 POST https://{endpoint}/v2/{project_id}/csemonitor/metric { "name" : "test", "appId" : "default", "version" : "1.0.0", "instance" : "hostNameTest", "thread" : 0, "cpu" : 0, "memory" : { "1":"1" }, "interfaces" : [ { "time" : 0, "name" : "test", "qps" : 0, "latency" : 0, "rate" : 0, "total" : 0, "isCircuitBreakerOpen" : true, "failure" : 0, "shortCircuited" : 0, "semaphoreRejected" : 0, "threadPoolRejected" : 0, "countTimeout" : 0, "l995" : 0, "l99" : 0, "l90" : 0, "l75" : 0, "l50" : 0, "l25" : 0, "l5" : 0 } ] }
  • 请求示例 { "dependencies": [ { "consumer": { "environment": "", "appId": "default", "serviceName": "test1", "version": "1.0.0" }, "providers": [ { "environment": "", "appId": "default", "serviceName": "test", "version": "1.0.0" } ] } ] }
  • 请求消息 表2 请求Header参数 参数 是否必选 参数类型 描述 Authorization 是 String 若微服务引擎专享版开启了安全认证,此参数必填。否则,无此参数。 开启了安全认证的微服务引擎专享版Token,格式为: Authorization:Bearer {Token} Token获取方法,请参考获取微服务引擎专享版用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 dependencies 是 Arrayof objects 规则的集合,请参考表4。列表长度为1-100。 表4 MicroServiceDependency 参数 是否必选 参数类型 描述 consumer 是 Object 消费端微服务,具体参考DependencyMicroService。 providers 否 Array of objects 服务端微服务,具体参考DependencyMicroService。
  • 请求消息 表3 请求Header参数 参数 是否必选 参数类型 描述 x-environment 否 String 指定查询配置的environment,取值包括:development、testing、acceptance、production。其他值均被作为空值处理。 Authorization 是 String 若微服务引擎专享版开启了安全认证,此参数必填。否则,无此参数。 开启了安全认证的微服务引擎专享版Token,格式为: Authorization:Bearer {Token} Token获取方法,请参考获取微服务引擎专享版用户Token。
  • URI GET /v3/{project_id}/configuration/items 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 微服务引擎专业版,请填租户项目id,长度为1~64。也可以填固定值default。 微服务引擎专享版,请填固定值:default。 表2 Query参数 参数 是否必选 参数类型 描述 dimensionsInfo 是 String 服务信息,为服务名、应用、版本的拼接(服务名、应用必填,版本选填),拼接格式为(请注意“@”和“#”添加到http url时需转义,“@”转义为“%40”,“#”转义为“%23”): {serviceName}@{appId}#{version} 或{serviceName}@{appId} 不能包含$%^&+/\特殊字符和空格。 keyFilter 否 String key的筛选条件, 支持正则表达式。涉及特殊字符的正则表达式需要自行转义。 revision 否 String 配置项版本。用于判断本地缓存配置和配置管理中心的配置差异。 首次传值0。 若传入的revision值与当前配置的revision一致,则返回304状态码,无body体返回;若不一致,则返回当前配置和revision信息。 下次请求若需要传入revision,则该值为当前返回body体中的revision中的version的值 。
  • URI GET /v2/{project_id}/cas/applications/{application_id}/components/{component_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 application_id 是 String 应用ID。获取方法,请参考获取所有应用。 component_id 是 String 组件ID。获取方法,请参考获取应用所有组件。
  • 响应示例 { "id": "1cfdda6f-84cd-4ead-8e09-628fabf662e2", "name": "test-micro", "runtime": "Java8", "category": "MicroService", "sub_category": "Java Chassis", "description": "", "project_id": "e7d2e9c589e5445e808a8ff0d1235aca", "application_id": "4d92833a-fa05-4fc0-a761-e67620022310", "source": { "kind": "artifact", "spec": { "storage": "obs", "type": "package", "url": "obs://test-soft/fusionweather-1.0.0.jar", "auth": "iam", "webUrl": "", "properties": { "bucket": "test-soft", "endpoint": "https://obs.region_id.development.com:443", "key": "fusionweather-1.0.0.jar" } } }, "build": { "id": "zpdkj42b3rnko8bmyojzt1ng828ubychw13j8flv", "parameters": { "artifact_namespace": "ns", "use_public_cluster": false, "cluster_id": "523498f1-36c4-11eb-ae36-0255ac1000c2", "cluster_name": "cce-test", "cluster_type": "VirtualMachine" } }, "status": 0, "creator": "ss-test", "create_time": 1610331760105, "update_time": 1610519881943 }
  • 操作场景 微服务是业务概念,某个进程提供某种服务,那它就是个微服务。每一个服务都具有自主运行的业务功能,对外开放不受语言限制的API (最常用的是HTTP)。多个微服务组成应用程序。 下面介绍如何调用创建微服务静态信息API注册微服务my-provider后,先调用注册微服务实例API注册微服务my-provider的实例,再次调用创建微服务静态信息API注册微服务微服务my-consumer,然后调用按条件查询微服务实例API,my-consumer带着自身的serviceId去服务中心查询my-provider的实例信息。 以上微服务名称均为示例。 API的调用方法请参见如何调用API。
  • 操作步骤 调用创建微服务静态信息API注册微服务my-provider,请求示例如下: curl -k -H "x-domain-name:default" -H "x-auth-token:$Token" -XPOST "https://{cse_endpoint}/v4/default/registry/microservices" -d '{ "service": { "serviceName": "my-provider", "appId": "default", "version": "1.0.0", "description": "test", "level": "MIDDLE", "status": "UP" } }' 返回结果: {"serviceId":"918282e8562dc5fdc9a8dcd4d1baabb492190aa4"} 记录加粗显示的serviceId值,用于替换后续示例中的{providerServiceId}。 调用注册微服务实例API注册微服务my-provider的实例。 实例有效期1小时,到期自动下线。假设provider实例监听的地址为127.0.0.1:8080,请求示例如下: curl -k -H "x-domain-name:default" -H "x-auth-token:$Token" -XPOST "https://{cse_endpoint}/v4/default/registry/microservices/{providerServiceId}/instances" -d '{ "instance": { "hostName": "test", "endpoints": [ "rest:127.0.0.1:8080" ], "status": "UP", "healthCheck": { "mode": "push", "interval": 900, "times": 3 } } }' 返回结果: {"instanceId":"2be605a095ed11eabcbe0255ac100fa3"} 调用创建微服务静态信息API注册微服务my-consumer,请求示例如下: curl -k -H "x-domain-name:default" -H "x-auth-token:$Token" -XPOST "https://{cse_endpoint}/v4/default/registry/microservices" -d '{ "service": { "serviceName": "my-consumer", "appId": "default", "version": "1.0.0", "description": "test", "level": "MIDDLE", "status": "UP" } }' 返回结果: {"serviceId":"9db248934c31fc754d6e922b48ede4a5c004d3c1"} 记录加粗显示的serviceId值,用于替换后续示例中的{consumerServiceId}代替。 调用按条件查询微服务实例接口,my-consumer带着自身的serviceId去服务中心查询my-provider的实例信息。请求示例如下: curl -k -H "x-domain-name:default" -H "x-auth-token:$Token" -H "X-ConsumerId:{consumerServiceId}" -XGET "https://{cse_endpoint}/v4/default/registry/instances?appId=default&serviceName=my-provider&version=0.0.0%2B" 返回结果: { "instances": [ { "instanceId": "2be605a095ed11eabcbe0255ac100fa3", "serviceId": "918282e8562dc5fdc9a8dcd4d1baabb492190aa4", "endpoints": [ "rest:127.0.0.1:8080" ], "hostName": "test", "status": "UP", "healthCheck": { "mode": "push", "interval": 150, "times": 3 }, "timestamp": "1589465646", "modTimestamp": "1589465646", "version": "1.0.0" } ] } 在实际业务中,my-consumer可从实例查询结果中的"endpoint"字段获取my-provider实例的地址,发起业务调用。 您还可以进入ServiceStage控制台,单击微服务引擎的“查看控制台”,在“服务目录”查看服务注册信息。
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于管理员创建IAM用户接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "user": { "id": "c131886aec...", "name": "IAMUser", "description": "IAM User Description", "areacode": "", "phone": "", "email": "***@***.com", "status": null, "enabled": true, "pwd_status": false, "access_mode": "default", "is_domain_owner": false, "xuser_id": "", "xuser_type": "", "password_expires_at": null, "create_time": "2024-05-21T09:03:41.000000", "domain_id": "d78cbac1..........", "xdomain_id": "30086000........", "xdomain_type": "", "default_project_id": null } } 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "Request body is invalid.", "error_code": "IAM.0011" } 其中,error_code表示错误码,error_msg表示错误描述信息。
共100000条