API风格说明
当前ECS服务对外开放两类风格的API:
ECS服务自定义规范的API(以下简称ECS API)
顺从OpenStack社区标准原生规范的API
两种风格不同,功能相近。OpenStack风格API主要用于满足您在开源生态工具方面的对接需求,在某些功能上ECS API在OpenStack社区的API基础上,做了功能增强。为了更好的使用OpenStack风格API,建议您提前了解OpenStack相关概念与知识。
版本号介绍
弹性云服务器所提供的接口分为ECS接口与OpenStack原生接口。推荐您使用ECS接口。

Openstack API可以使用v2和v2.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)。
微版本请求样例
假设使用弹性云服务器详情信息列表API接口查询"OS-EXT-SRV-ATTR:hostname"字段。
使用v2接口,不加微版本号
GET: https://{Endpoint}/v2/74610f3a5ad941998e91f076297ecf27/servers/detail
其中{Endpoint}为IAM的终端节点,请参考终端节点获取。
Headers:
Content-Type
application/json
X-Auth-Token
${token}
响应消息体:
{
"servers": [
{
"tenant_id": "74610f3a5ad941998e91f076297ecf27",
"addresses": {
"05d4fb93-84e5-4964-853b-32992ffef627": [
{
"OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:20:17:95",
"OS-EXT-IPS:type": "fixed",
"addr": "192.168.0.228",
"version": 4
},
{
"OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:20:17:95",
"OS-EXT-IPS:type": "floating",
"addr": "192.168.51.61",
"version": 4
}
]
},
"metadata": {},
"OS-EXT-STS:task_state": null,
"OS-DCF:diskConfig": "MANUAL",
"OS-EXT-AZ:availability_zone":"az1-dc1",
"links": [
{
"rel": "self",
"href": "https://None/v2.1/74610f3a5ad941998e91f076297ecf27/servers/89c312bb-285a-4026-a237-d441908c2f9e"
},
{
"rel": "bookmark",
"href": "https://None/74610f3a5ad941998e91f076297ecf27/servers/89c312bb-285a-4026-a237-d441908c2f9e"
}
],
"OS-EXT-STS:power_state": 1,
"id": "89c312bb-285a-4026-a237-d441908c2f9e",
"os-extended-volumes:volumes_attached": [
{
"id": "c70c4b8e-33bd-4d1f-ab16-14a5a38cdeaf"
}
],
"OS-EXT-SRV-ATTR:host": "pod05.test.01",
"image": {
"links": [
{
"rel": "bookmark",
"href": "https://None/74610f3a5ad941998e91f076297ecf27/images/1189efbf-d48b-46ad-a823-94b942e2a000"
}
],
"id": "1189efbf-d48b-46ad-a823-94b942e2a000"
},
"OS-SRV-USG:terminated_at": null,
"accessIPv4": "",
"accessIPv6": "",
"created": "2018-05-11T03:21:56Z",
"hostId": "fc7a8ff86bac050f0d9454b1b078dcc97060e819acbf06f04c3e338f",
"OS-EXT-SRV-ATTR:hypervisor_hostname": "nova012@7",
"key_name": "id_rsa",
"flavor": {
"links": [
{
"rel": "bookmark",
"href": "https://None/74610f3a5ad941998e91f076297ecf27/flavors/s3.small.1"
}
],
"id": "s3.small.1"
},
"security_groups": [
{
"name": "default"
}
],
"config_drive": "",
"OS-EXT-STS:vm_state": "active",
"OS-EXT-SRV-ATTR:instance_name": "instance-0016c624",
"user_id": "f79791beca3c48159ac2553fff22e166",
"name": "zt-test",
"progress": 0,
"OS-SRV-USG:launched_at": "2018-05-11T03:22:16.701600",
"updated": "2018-05-11T03:22:51Z",
"status": "ACTIVE"
}
]
}
结论:响应消息体中没有"OS-EXT-SRV-ATTR:hostname"字段。
使用v2.1接口,加微版本号
GET: https://{Endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers/detail
其中{Endpoint}为IAM的终端节点,请参考终端节点获取。
Headers:
Content-Type
application/json
X-Auth-Token
${token}
X-OpenStack-Nova-API-Version
2.26
响应消息体:
{
"servers": [
{
"tenant_id": "74610f3a5ad941998e91f076297ecf27",
"addresses": {
"05d4fb93-84e5-4964-853b-32992ffef627": [
{
"OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:20:17:95",
"OS-EXT-IPS:type": "fixed",
"addr": "192.168.0.228",
"version": 4
},
{
"OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:20:17:95",
"OS-EXT-IPS:type": "floating",
"addr": "192.168.51.61",
"version": 4
}
]
},
"metadata": {},
"OS-EXT-STS:task_state": null,
"description": "zt-test",
"OS-EXT-SRV-ATTR:hostname": "zt-test",
"OS-DCF:diskConfig": "MANUAL",
"OS-EXT-AZ:availability_zone":"az-test-01",
"links": [
{
"rel": "self",
"href": "https://None/v2.1/74610f3a5ad941998e91f076297ecf27/servers/89c312bb-285a-4026-a237-d441908c2f9e"
},
{
"rel": "bookmark",
"href": "https://None/74610f3a5ad941998e91f076297ecf27/servers/89c312bb-285a-4026-a237-d441908c2f9e"
}
],
"OS-EXT-STS:power_state": 1,
"id": "89c312bb-285a-4026-a237-d441908c2f9e",
"os-extended-volumes:volumes_attached": [
{
"delete_on_termination": true,
"id": "c70c4b8e-33bd-4d1f-ab16-14a5a38cdeaf"
}
],
"locked": false,
"OS-EXT-SRV-ATTR:kernel_id": "",
"OS-EXT-SRV-ATTR:host":"pod05.test.01" ,
"OS-EXT-SRV-ATTR:ramdisk_id": "",
"image": {
"links": [
{
"rel": "bookmark",
"href": "https://None/74610f3a5ad941998e91f076297ecf27/images/1189efbf-d48b-46ad-a823-94b942e2a000"
}
],
"id": "1189efbf-d48b-46ad-a823-94b942e2a000"
},
"accessIPv4": "",
"OS-SRV-USG:terminated_at": null,
"accessIPv6": "",
"OS-EXT-SRV-ATTR:launch_index": 0,
"created": "2018-05-11T03:21:56Z",
"OS-EXT-SRV-ATTR:user_data": null,
"hostId": "fc7a8ff86bac050f0d9454b1b078dcc97060e819acbf06f04c3e338f",
"OS-EXT-SRV-ATTR:reservation_id": "r-pbqmaxer",
"OS-EXT-SRV-ATTR:root_device_name": "/dev/vda",
"host_status": "UP",
"OS-EXT-SRV-ATTR:hypervisor_hostname": "nova012@7",
"tags": [],
"key_name": "id_rsa",
"flavor": {
"links": [
{
"rel": "bookmark",
"href": "https://None/74610f3a5ad941998e91f076297ecf27/flavors/s3.small.1"
}
],
"id": "s3.small.1"
},
"security_groups": [
{
"name": "default"
}
],
"config_drive": "",
"OS-EXT-STS:vm_state": "active",
"OS-EXT-SRV-ATTR:instance_name": "instance-0016c624",
"user_id": "f79791beca3c48159ac2553fff22e166",
"name": "zt-test",
"progress": 0,
"OS-SRV-USG:launched_at": "2018-05-11T03:22:16.701600",
"updated": "2018-05-11T03:22:51Z",
"status": "ACTIVE"
}
]
}
结论:响应消息体中有"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"
}
]
}
华为云共建智能世界云底座[52] 华为公有云专属云主机DeH服务[51] 华为云场景化解决方案[49] 华为公有云产品[44] 华为云云主机[43] 华为云产品服务[43] 华为云服务器应用[43] 华为弹性云服务器[39] 华为公有云架构解决方案[38] 华为云提供的服务[37] 华为虚拟私有云vpc[37] 华为公有云介绍[32] 华为公有云提供哪些计算服务[30] 华为云漏洞扫描[27] 华为云软件开发服务[27] 华为公有云和私有云区别[27] 华为云域名注册[26] 华为云官网登陆[26] 华为公有云解决方案[26] 华为私有云产品有哪些[26] 华为私有云服务[25] 华为云数据库[23] 华为云安全[22] 华为公有云官网[22] 华为私有云的搭建方案[22] 华为云弹性云服务器应用[21] 华为公有云平台[20] 华为公有云行业解决方案[20] 华为私有云解决方案服务定制领导者[20] [19] 华为私有云服务器[19] 华为私有云网格结构[19] 华为公有云视讯解决方案[18] 华为云官网[17] 华为云速建站[17] 华为私有云架构[17] 华为云优势[16] 华为云服务器[16] 华为私有云部署架构[16] 华为云企业邮箱服务 (SAAS[15] 华为云邮箱[15] 华为公有云是什么[15] 华为公有云架构[15] 华为云迁移解决方案[14] 华为公有云解决方案服务定制领导者[14] 华为私有云解决方案[14] 云邮箱)[13] 华为云园区解决方案[13] 华为云服务总代理[13] 华为云速智能客服[13] 华为公有云服务[13] 华为私有云搭建方案[13] 云与计算咨询服务[12] 云与计算培训服务[11] 华为云备份[11] 华为云服务器配置[11] 华为云服务服务中心[11] 华为云服务核心分销商[11] 华为公有云[11] 华为私有云搭建[11] 云迁移与运营支撑服务[10] 公有云私有云混合云[10] 华为云服务器ECS[10] 华为云服务器成功案例[10] 华为云解决方案[10] 华为公有云通用解决方案[9] 华为智慧云课堂解决方案[9] 华为云数据解决方案[8] 华为云是什么[8] 华为私有云平台[8] 云与计算客户支持与运维使能服务[7] 华为云官网网站[7] 华为云智慧教育解决方案[7] 华为云智慧校园解决方案[7] 华为云桌面系统集成商[7] 华为云经销商[7] 华为代理公司有哪些[7] 华为私有云方案[7] 智慧教育云平台解决方案[7] 华为云服务器试用[6] 华为云网站建设服务器[6] 华为手机代理加盟[6] 华为私有云[6] 大数据使能服务[6] 智慧教育云计算解决方案[6] 华为云云主机 [5] 华为云智慧***解决方案[5] 华为云桌面总代理商[5] 云与计算客户支持服务[4] 华为云产品介绍[4] 华为云智慧制造解决方案[4] 华为云场景化解决方案[3] 华为公有云官网[3] 华为公有云通用解决方案[3] 华为弹性云服务器[3] 华为公有云产品 [3] 华为云产品服务[2] 华为云域名注册[2] 华为云数据库[2] 华为云智慧校园解决方案[2] 华为云服务器应用[2] 华为云服务器成功案例[2] 华为云软件开发服务[2] 华为公有云产品[2] 华为公有云介绍[2] 华为公有云和私有云区别[2] 华为公有云服务[2] 华为公有云架构[2] 华为公有云架构解决方案[2] 华为公有云视讯解决方案[2] 华为公有云解决方案[2] 华为私有云产品有哪些[2] 华为私有云服务[2] 华为私有云架构[2] 智慧教育云计算解决方案[2] 云规划设计与实施服务[2] 云邮箱[2] 华为云产品报价[2] 华为公有云通用解决方案 [2] 华为云服务器成功案例[1] 华为云桌面系统集成商[1] 云与计算客户支持与运维使能服务[1] 云迁移与运营支撑服务[1] 云迁移与运营支撑服务 [1] 华为云共建智能世界云底座[1] 华为云备份[1] 华为云安全[1] 华为云官网登陆[1] 华为云弹性云服务器应用[1] 华为云提供的服务[1] 华为云数据解决方案[1] 华为云智慧制造解决方案[1] 华为云服务器[1] 华为云服务核心分销商 [1] 华为云漏洞扫描[1] 华为云迁移解决方案 [1] 华为云速智能客服[1] 华为云邮箱[1] 华为公有云专属云主机DeH服务[1] 华为公有云是什么[1] 华为公有云行业解决方案[1] 华为私有云搭建[1] 华为私有云方案[1] 华为私有云服务.华为公有云专属云主机DeH服务.华为云产品报价[1] 华为私有云的搭建方案[1] 华为私有云网格结构[1] 华为私有云解决方案[1] 华为私有云部署架构[1] 为云产品服务[1] 云与计算咨询服务 [1] 云与计算客户支持与运维使能服务 [1] 云与计算客户支持与运维使能服务 云与计算客户支持服务[1] 华为云是什么 [1] 华为云软件开发服[1] 华为云速智能客服 [1] 华为代理加盟[1] 华为公有云架构解决方案 [1] 华为公有云解决方案服务定制领导者 [1] 华为弹性云[1] 华为弹性云服务器 华为云域名注册 华为云服务器应用[1] 华为私有云搭建 [1] 华为私有云搭建方案 [1] 华为私有云部署架构 [1] 大数据使能服务 [1] 撒[1]