华为云——ECS弹性云服务器接口文档相关知识点提炼总结与解读

作者专注于Java、架构、Linux、小程序、爬虫、自动化等技术。 工作期间含泪整理出一些资料,微信搜索【程序员高手之路】,回复 【java】【黑客】【爬虫】【小程序】【面试】等关键字免费获取资料。技术交流、项目合作可私聊!

目录

前言

一、使用前必读:

1.1 概述

1.2 调用说明

1.3 终端节点(Endpoint)

1.4 约束限制

1.5 基本概念

1.6 API 版本选择建议

版本号介绍

微版本号介绍

微版本请求样例

微版本响应样例

1.7 分页查询


前言

作者浏览过华为云、腾讯云、百度云、阿里云等云技术公司的官网,发现都有类似的产品与知识,比如磁盘、快照、网络、安全组等等,这些概念都是大同小异的,懂得了其中一个云产品,其它产品自然就简单了。而最近工作中使用到了华为云提供的ECS接口文档,所以就从中提炼出一些常用知识,并添加了其它参考资料,作为后面工作的参考。

如需查看详细内容,还请点击: ECS接口文档 

文档版本 30

发布日期 2019-10-30

一、使用前必读:

1.1 概述

弹性云服务器是由CPU、内存、镜像、云硬盘组成的一种可随时获取、弹性可扩展的计算服务器,同时它结合虚拟私有云、虚拟防火墙、数据多副本保存等能力,为您打造一个高效、可靠、安全的计算环境,确保您的服务持久稳定运行。

1.2 调用说明

弹性云服务器提供了 REST Representational State Transfer )风格 API ,支持您通过HTTPS请求调用,调用方法请参见 如何调用 API

1.3 终端节点(Endpoint

终端节点( Endpoint )即调用 API 请求地址 ,不同服务不同区域的终端节点不同

1.4 约束限制

您能创建的ECS资源的数量与配额有关系,如果您想查看服务配额、扩大配额,具体请参见“调整资源配额”。

1.5 基本概念

  1. 账号:用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。
  2. 用户:由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。
  3. 区域:指云资源所在的物理位置,同一区域内可用区间内网互通,不同区域间内网不互通。(注:上图中可以看到区域,终端节点里面包含区域)
  4. 可用区:一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。(AZ就是Availible Zone,即可用区)
  5. 项目:区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 

1.6 API 版本选择建议

当前ECS服务对外开放两类风格的API:

1. ECS服务自定义规范的API(以下简称ECS API)

2. 顺从OpenStack社区标准原生规范的API 两种风格不同,功能相近。

OpenStack风格API主要用于满足您在开源生态工具方面的对接需求,在某些功能上ECS API在OpenStack社区的API基础上,做了功能增强。为了更好的使用OpenStack风格API,建议您提前了解OpenStack相关概念与知识。

版本号介绍

  • 弹性云服务器所提供的接口分为ECS接口与OpenStack原生接口。推荐您使用ECS接口。
  • Openstack API可以使用v2v2.1两个版本号,v2.1版本支持v2版本所有功能,且v2.1版本支持微版本。如果使用Openstack API推荐用户使用v2.1接口。若使用v2版本的openstack API接口,只需要把对应的API接口URI中的v2.1版本号改为v2版本号
    即可。

微版本号介绍

  • 微版本说明:标识API中小的改动。当接口URI使用v2.1版本的时候,用户可以指定微版本号使用相应API的新功能。使用查询API版本信息列表,可以查询当前支持的主版本和支持的最大与最小的微版本。
  • 微版本的使用说明:用户想要使用微版本特性,需要在请求Openstack接口时,在请求头中加入微版本头:X-OpenStack-Nova-API-Version或者Openstack-API-Version,例如使用微版本2.26需要在https的请求头中加入:X-OpenStack-Nova-API-Version: 2.26或Openstack-API-Version: compute 2.26
  • 说明 当用户使用v2.1接口不传入微版本头时,默认使用的微版本Openstack-API-Version: compute 2.1(X-OpenStack-Nova-API-Version: 2.1)。

微版本请求样例

  • 使用v2接口,不加微版本号
– GET: https://{endpoint}/v2/74610f3a5ad941998e91f076297ecf27/servers/detail
– Headers:
Content-Type  application/json
X-Auth-Token  ${token}
响应消息体中没有"OS-EXT-SRV-ATTR:hostname"字段。
  • 使用v2.1接口,加微版本号
– GET: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers/detail
– Headers:
Content-Type  application/json
X-Auth-Token  ${token} 
X-OpenStack-Nova-API-Version  2.26 (多了版本号)
响应消息体中有"OS-EXT-SRV-ATTR:hostname"字段。

微版本响应样例

  • 如果“version”和“min_version”这两个值为空字符串,说明此endpoint不支持微版本。其中,version:最大微版本号。 min_version:最小微版本号。
  • 客户端应该指定最大和最小微版本范围内的微版本号去访问endpoint。客户端通过以HTTP header指定微版本号: X-OpenStack-Nova-API-Version: 2.4,从微版本2.27开始,也可以用以下header指定微版本: Openstack-API-Version: compute 2.27

如下响应样例中支持的最大微版本为“2.14”,最小微版本为“2.1”:  

{
 "versions": [
 {
 "id": "v2.0",
 "links": [
 {
 "href": "http://openstack.example.com/v2/",
 "rel": "self"
 }
 ],
 "status": "SUPPORTED",
 "version": "",
 "min_version": "",
 "updated": "2011-01-21T11:33:21Z"
 },
 {
 "id": "v2.1",
 "links": [
 {
 "href": "http://openstack.example.com/v2.1/",
 "rel": "self"
 }
 ],
 "status": "CURRENT",
 "version": "2.14",
 "min_version": "2.1",
 "updated": "2013-07-23T11:33:21Z"
 }
 ]
}

1.7 分页查询

nova API 提供分页查询功能,通过在查询列表请求的 url 中添加  limit  和  marker  参数实现分页返回列表信息。参数说明见下表,分页显示的结果以显示对象的创建时间(create_time)升序排序,如果对象信息没有创建时间,则用对象的 ID 升序排序。

响应消息中的 next ref ,代表了下一页的 url

猜你喜欢

转载自blog.csdn.net/qq_26230421/article/details/106275829