云服务器内容精选

  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Authorization 否 String 若微服务引擎专享版开启了安全认证,此参数必填。否则,无此参数。 开启了安全认证的微服务引擎专享版Token,格式为: Authorization:Bearer {Token} Token获取方法,请参考获取微服务引擎专享版用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 schema 是 String 契约内容。 summary 否 String 新加入参数,后面创建schema,请尽量提供schema的摘要。
  • 响应参数 状态码: 400 表4 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。 状态码: 500 表5 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。
  • 请求示例 修改指定service_id和schema_id的契约的契约内容和摘要。 PUT https://{endpoint}/v4/{project_id}/registry/microservices/{service_id}/schemas/{schema_id} { "schema": "---\nswagger: \"2.0\"\ninfo:\n version: \"1.0.0\"\n title: \"swagger definition for com.service.provider.controller.ProviderImpl\"\n x-java-interface: \"cse.gen.springmvc.provider.provider.ProviderImplIntf\"\nbasePath: \"/provider\"\nconsumes:\n- \"application/json\"\nproduces:\n- \"application/json\"\npaths:\n /helloworld:\n get:\n operationId: \"helloworld\"\n produces:\n - \"application/json\"\n parameters:\n - name: \"name\"\n in: \"query\"\n required: true\n type: \"string\"\n responses:\n 200:\n description: \"response of 200\"\n schema:\n type: \"string\"\n", "summary": "test" }
  • URI PUT /v4/{project_id}/registry/microservices/{service_id}/schemas/{schema_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 微服务引擎专业版,请填租户项目id,长度为1~64,获取方法请参考获取项目ID。也可以填固定值default。 微服务引擎专享版,请填固定值:default。 service_id 是 String 微服务唯一标识。字符长度为1~64,正则表达式为^.*$。获取方法请参考查询所有微服务信息。 schema_id 是 String 微服务契约唯一标识。字符长度为1~160,正则表达式为^[a-zA-Z0-9]{1,160}$|^[a-zA-Z0-9][a-zA-Z0-9_-.]{0,158}[a-zA-Z0-9]$。获取方法请参考查询微服务的所有契约。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 Content-Type:消息体的类型(格式),必选,默认取值为“application/json”,有其他取值时会在具体接口中专门说明。 X-Auth-Token:用户Token,可选,当使用Token方式认证时,必须填充该字段。用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 X-Project-ID:子项目ID,可选,在多项目场景中使用。 X-Domain-ID:账号ID。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则Content-type中需声明字符编码方式为utf-8,例如,Content-Type: application/json;utf-8。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中: username为登录用户名。 ********为用户登录密码。 domainname为用户所属的账号名称。 xxxxxxxxxxxxxxxxxx为project的名称,即从地区和终端节点处获取到的“区域”名称。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxxxxxxxxxxxx" } } } } scope参数定义了Token的作用范围,取值为project或domain。上面示例中取值为project,表示获取的Token仅能访问指定project下的资源。取值为domain时,表示获取的token可以访问指定账号下所有资源。scope参数的详细说明,请参考获取用户Token。 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl命令行、postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 URI-scheme:表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint:指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点处获取。例如IAM服务在“华北-北京一”区域的Endpoint为“iam.cn-north-1.myhuaweicloud.com”。 resource-path:资源路径,也即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string:查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如您需要获取IAM在“华北-北京一”区域的Token,则需使用“华北-北京一”区域的Endpoint(iam.cn-north-1.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求方法 HTTP方法,它告诉服务您正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 响应参数 状态码: 200 表6 响应Body参数 参数 参数类型 描述 id String 微服务引擎专享版专享版ID。 name String 微服务引擎专享版名称。 jobId Integer 微服务引擎专享版执行任务ID。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。 状态码: 500 表8 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。
  • 请求示例 创建一个名称为“test”微服务引擎专享版,其计费模式为按需计费,规格为cse.s1.small2,可用区为test,关闭安全认证,微服务引擎的部署类型为CSE2。 POST https://{endpoint}/v2/{project_id}/enginemgr/engines { "name": "test", "description": "test", "payment": "1", "flavor": "cse.s1.small2", "azList": ["test"], "authType": "NONE", "vpc": "vpc-demotest", "vpcId": "09902850-9454-4715-9764-018f0c37022", "networkId": "88550801-e892-4f8e-b21b-f7147f6229", "subnetCidr": "192.168.0.5/26", "specType": "CSE2, "inputs": { "nodeFlavor": "s6.large.2" } }
  • 请求示例 创建一个名称为development-env的“虚拟机”类型的环境,环境所在VPC的id为29d55020-ae0e-4a18-871c-93e6976ee7bd。 { "name": "development-env", "description": "", "charge_mode": "provided", "deploy_mode": "container", "vpc_id": "29d55020-ae0e-4a18-871c-93e6976ee7bd", "base_resources": [ { "id": "b6862a62-d916-11e9-bdf1-0255ac101fd9", "type": "cce" } ], "optional_resources": [ { "id": "default", "type": "cse" } ] }
  • 响应示例 { "id": "00078e9d-a61c-476e-ac63-a10c9cb2638e", "name": "development-env", "alias": null, "description": "", "project_id": "e7d2e9c589e5445e808a8ff0d1235aca", "enterprise_project_id": "0", "charge_mode": "provided", "deploy_mode": "container", "vpc_id": "29d55020-ae0e-4a18-871c-93e6976ee7bd", "base_resources": [ { "id": "b6862a62-d916-11e9-bdf1-0255ac101fd9", "type": "cce" } ], "optional_resources": [ { "id": "default", "type": "cse" } ], "creator": "ss-test", "create_time": 1610418873730, "update_time": 1610418873730 }
  • 功能介绍 环境是用于应用部署和运行的计算、存储、网络等基础资源的集合。ServiceStage把相同VPC下的计算资源(如云服务引擎CCE、弹性云服务器ECS等)、网络资源(如弹性负载均衡ELB、弹性公网EIP等)和中间件(如分布式缓存DCS、云数据库RDS、微服务引擎CSE等)组合为一个环境,如:开发环境,测试环境,预生产环境,生产环境。环境内网络互通,可以按环境维度来管理资源、部署服务,减少具体基础资源运维管理的复杂性。 此API用来创建环境。
  • 响应消息 表5 响应参数 参数 参数类型 描述 id String 环境ID。 name String 环境名称。 alias String 环境别名。 description String 环境描述。 project_id String 项目ID。 enterprise_project_id String 企业项目ID。 charge_mode String 收费模式。 deploy_mode String 环境类型。 virtualmachine:虚拟机。 container:Kubernetes。 mixed :虚拟机和Kubernetes。 vpc_id String 虚拟私有云ID。 base_resources Array of objects 基础资源,请参考表6,返回为空。 optional_resources Array of objects 可选资源,请参考表6,返回为空。 creator String 创建人。 create_time Integer 创建时间。 update_time Integer 修改时间。 表6 resource参数 参数 参数类型 描述 id String 资源ID。 name String 资源名称。 type String 基础资源:cce、ecs、as。 可选资源:rds、dcs、elb、cse等其他类型。
  • 请求消息 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式)。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种。如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 环境名称。 由英文字母、数字、中划线(-)、下划线(_)组成,并以英文字母开头,英文字母或者数字结尾,英文字母不区分大小写,长度为2~64个字符。 alias 否 String 环境别名。 最大长度为64个字符。 deploy_mode 是 String 指定环境类型。 virtualmachine:虚拟机。 container:Kubernetes。 mixed :虚拟机和Kubernetes。 description 否 String 环境描述。 最大长度为128个字符。 enterprise_project_id 否 String 企业项目ID。 charge_mode 否 String 收费模式,支持provided、on_demanded、monthly。默认provided,表示使用用户提供的已有资源,无需收费。on_demanded表示按需收费,monthly表示包月收费。 vpc_id 是 String 虚拟私有云ID。 base_resources 是 Array of objects 基础资源,请参考表4。 optional_resources 否 Array of objects 可选资源,请参考表4。 表4 resource参数 参数 是否必选 参数类型 描述 id 是 String 资源ID。 type 是 String 基础资源:cce、ecs、as。 可选资源:rds、dcs、elb、cse等其他类型。 name 否 String 资源名称。