当前位置:首页 > Windows程序 > 正文

openstack:RESTful API的查看与调试

2021-03-26 Windows程序

《openstack-bk-api-ref.pdf》

网址:

下载pdf

 

关于RESTful可以参考官方文档:

pdf版本为:

svn://200.200.0.10/vt/vt/VTP/Cloud2.0/Documents/13.预研/01.预研报告/预研文档分享/cinder/openstack-restful-api/api-quick-start-onepager.pdf

 

实例(这里的python -m json.tool可以让输出看起来是json格式):

# curl -s -X POST :5000/v2.0/tokens -H "Content-Type:application/json" \

 -d ‘{"auth": {"tenantName":"admin","passwordCredentials":  \ {"username":"admin","password":"83c53e477779468a"}}}‘|python -m json.tool

技术分享


输出比较多,一般我们只是看token id,这里把其他信息删除:

"token": {

"audit_ids": [

"d5LrCnXNSB-aGwz0x6bSJg"

],

"expires": "2015-08-26T09:24:07Z",

"id": "fc62e669e3b0417faac71e0840c30354",

"issued_at": "2015-08-26T08:24:07.511407",

"tenant": {

"description": "admin tenant",

"enabled": true,

"id": "5f8211463783496b9621c51d5666e70e",

"name": "admin"

}

},

使用--debug查看解析

可以通过cinder --debug xxx看到发送的具体的RESTful API

技术分享


这里发了三条curl命令:

(1)curl -g -i -X GET :5000/v2.0/ -H "Accept: application/json" -H "User-Agent: python-keystoneclient"

(2)curl -g -i -X GET :8776/ -H "Accept: application/json" -H "User-Agent: python-keystoneclient"

(3)curl -g -i -X GET :8776/v1/5f8211463783496b9621c51d5666e70e/volumes/detail -H "User-Agent: python-cinderclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}58e60a153a105abbc64cd8f28ef8de8f227660fc"

解释:前面两条命令不用管,实际发的是第三条命令。如果自己写API不掉上面两个,实际上也会发上面的两个命令。

实际上ListAPI只有这一个

curl -g -i -X GET :8776/v1/5f8211463783496b9621c51d5666e70e/volumes/detail -H "User-Agent: python-cinderclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}58e60a153a105abbc64cd8f28ef8de8f227660fc"

3. 使用crul单步实现cinder list示例

3.1 获取token -- 参考官网文档《》给的命令


#curl -s -X POST :5000/v2.0/tokens -H "Content-Type: application/json" -d ‘{"auth": {"tenantName": "‘"$OS_TENANT_NAME"‘", "passwordCredentials": {"username": "admin", "password": "83c53e477779468a"}}}‘ | python -m json.tool

这里会输出很多东西,,只需要看token字段:

"token": {

"audit_ids": [

"UGH_HfiYQBy3DleHiZk0nw"

],

"expires": "2015-08-26T10:52:39Z",

 "id": "aaa9da01640249abb6032cf013a4095c",

"issued_at": "2015-08-26T09:52:39.549531",

"tenant": {

"description": "admin tenant",

"enabled": true,

"id": "5f8211463783496b9621c51d5666e70e",

"name": "admin"

}

},所以这里获取的toke id是:aaa9da01640249abb6032cf013a4095c

3.2 使用获取的token发送HTTP请求

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/67872.html