openstack api快速入门

使用Python获取ADS-B数据,并显示飞机航迹动态 使用Python获取ADS-B数据,并显示飞机航迹动态。 1.绘图环境 1)使用cartopy显示地理位置信息 import cartopy.crs as ccrs from cartopy.io.img_tiles import OSM 2)使用matplotlib实现飞机轨迹的刷新 3)使用OpenSkyApi,获取开发的ADS-B数据。 2.配置开发环境 1)安装cartopy。使用pip安装cartopy无法成功。在https://www.lfd.uci.edu下载whl文... 阅读详情

 原文:http://my.oschina.net/guol/blog/105430

openstack官方有提供api供开发者使用,可以使用api做一些外围的小工具,用来简化对openstack的管理。

    api-quickstart:http://docs.openstack.org/api/quick-start/content/index.html

    api-doc:http://api.openstack.org/api-ref.html

    环境:ubuntu12.10(10.1.1.186)

    如果你看了官方的quickstart,他会让你先生成一个X-Auth-Token值,然后使用这个认证的值调用相关的api接口。如下过程:

1 curl -k -X 'POST' -v http://10.1.1.186:5000/v2.0/tokens -d '{"auth":{"passwordCredentials":{"username": "guol", "password":"123456"}}}' -H 'Content-type: application/json' | python -mjson.tool
输出结果如下:

01 {
02     "access": {
03         "serviceCatalog": {},
04         "token": {
05             "expires": "2013-01-27T04:55:35Z",
06             "id": "a4b6a871ff2f41a797c0b7d45c69f81e"
07         },
08         "user": {
09             "id": "4c1a6122fc874a8bb541a34be3b316ad",
10             "name": "guol",
11             "roles": [],
12             "roles_links": [],
13             "username": "guol"
14         }
15     }
16 }
然后使用token id调用你使用的api

1 curl -X 'GET' -H  "X-Auth-Token:a4b6a871ff2f41a797c0b7d45c69f81e" -v http://10.1.1.186:5000/v2.0/tenants | python -mjson.tool
输出的结果如下:

01 {
02     "tenants": [
03         {
04             "description": "\u4e91\u5e73\u53f0\u7ba1\u7406\u5458,\u5168\u5c40\u7ba1\u7406\u6240\u6709\u9879\u76ee",
05             "enabled": true,
06             "id": "3a3613f83183435d9c47aa362261f720",
07             "name": "admin"
08         }
09     ],
10     "tenants_links": []
11 }

    当你按照api-doc接着调用compute、image、volume等下面的api接口时,会发现统统没有返回值,经过一段时间的摸索,发现对下剩下的api接口是需要使用认证过的token才能使用的,下面的方法才是王道。

获取认证token值

1 curl -X POST -d  '{"auth": {"tenantName": "VM", "passwordCredentials":{"username": "admin", "password": "123456"}}}' -H "Content-type: application/json" http://10.1.1.186:35357/v2.0/tokens | python -mjson.tool

返回值如下:

001 {
002     "access": {
003         "metadata": {
004             "is_admin": 0,
005             "roles": [
006                 "141927156f7a47d98858e51febaea8cf"
007             ]
008         },
009         "serviceCatalog": [
010             {
011                 "endpoints": [
012                     {
013                         "adminURL": "http://10.1.1.186:8774/v2/170bf7acb88646bc9147085d426c4671",
014                         "id": "e02aaf58a24641049fddfe7385ce9399",
015                         "internalURL": "http://10.1.1.186:8774/v2/170bf7acb88646bc9147085d426c4671",
016                         "publicURL": "http://10.1.1.186:8774/v2/170bf7acb88646bc9147085d426c4671",
017                         "region": "RegionOne"
018                     }
019                 ],
020                 "endpoints_links": [],
021                 "name": "nova",
022                 "type": "compute"
023             },
024             {
025                 "endpoints": [
026                     {
027                         "adminURL": "http://10.1.1.186:9292/v1",
028                         "id": "7c48fa4d876d44e0a3cb324a45a14931",
029                         "internalURL": "http://10.1.1.186:9292/v1",
030                         "publicURL": "http://10.1.1.186:9292/v1",
031                         "region": "RegionOne"
032                     }
033                 ],
034                 "endpoints_links": [],
035                 "name": "glance",
036                 "type": "image"
037             },
038             {
039                 "endpoints": [
040                     {
041                         "adminURL": "http://10.1.1.186:8776/v1/170bf7acb88646bc9147085d426c4671",
042                         "id": "c08114987bc0443d879436db6290dd08",
043                         "internalURL": "http://10.1.1.186:8776/v1/170bf7acb88646bc9147085d426c4671",
044                         "publicURL": "http://10.1.1.186:8776/v1/170bf7acb88646bc9147085d426c4671",
045                         "region": "RegionOne"
046                     }
047                 ],
048                 "endpoints_links": [],
049                 "name": "volume",
050                 "type": "volume"
051             },
052             {
053                 "endpoints": [
054                     {
055                         "adminURL": "http://10.1.1.186:8773/services/Admin",
056                         "id": "cd6c3c2ac44340d6a78cb903ec9bcab3",
057                         "internalURL": "http://10.1.1.186:8773/services/Cloud",
058                         "publicURL": "http://10.1.1.186:8773/services/Cloud",
059                         "region": "RegionOne"
060                     }
061                 ],
062                 "endpoints_links": [],
063                 "name": "ec2",
064                 "type": "ec2"
065             },
066             {
067                 "endpoints": [
068                     {
069                         "adminURL": "http://10.1.1.186:8080/v1",
070                         "id": "a75755093500441ea954f4874ccecf15",
071                         "internalURL": "http://10.1.1.186:8080/v1/AUTH_170bf7acb88646bc9147085d426c4671",
072                         "publicURL": "http://10.1.1.186:8080/v1/AUTH_170bf7acb88646bc9147085d426c4671",
073                         "region": "RegionOne"
074                     }
075                 ],
076                 "endpoints_links": [],
077                 "name": "swift",
078                 "type": "object-store"
079             },
080             {
081                 "endpoints": [
082                     {
083                         "adminURL": "http://10.1.1.186:35357/v2.0",
084                         "id": "196e553f9bcc4c8fa425bc0fa28a144b",
085                         "internalURL": "http://10.1.1.186:5000/v2.0",
086                         "publicURL": "http://10.1.1.186:5000/v2.0",
087                         "region": "RegionOne"
088                     }
089                 ],
090                 "endpoints_links": [],
091                 "name": "keystone",
092                 "type": "identity"
093             }
094         ],
095         "token": {
096             "expires": "2013-01-27T05:06:50Z",
097             "id": "71fb5b7816804febbd89ed315fe67c94",
098             "tenant": {
099                 "description": "\u6240\u6709\u516c\u53f8\u81ea\u4e3b\u6e38\u620f\u7684\u524d\u7aef\u53d1\u5e03\u673a,\u5982\u8d5b\u5c14\u53f7,\u529f\u592b\u7b49",
100                 "enabled": true,
101                 "id": "170bf7acb88646bc9147085d426c4671",
102                 "name": "VM"
103             }
104         },
105         "user": {
106             "id": "24a2251c32504957ad2647c2448ffac3",
107             "name": "admin",
108             "roles": [
109                 {
110                     "name": "\u524d\u7aef\u6e38\u620f"
111                 }
112             ],
113             "roles_links": [],
114             "username": "admin"
115         }
116     }
117 }

使用返回的token id和tenant id调用api返回该tenant下的servers

1 curl -X GET -H "X-Auth-Token:71fb5b7816804febbd89ed315fe67c94" -H "Content-type: application/json" http://10.1.1.186:8774/v2/170bf7acb88646bc9147085d426c4671/servers | python -mjson.tool
返回结果如下

01 {
02     "servers": [
03         {
04             "id": "ac561829-dffa-443e-a321-260d48f4cba3",
05             "links": [
06                 {
07                     "href": "http://10.1.1.186:8774/v2/170bf7acb88646bc9147085d426c4671/servers/ac561829-dffa-443e-a321-260d48f4cba3",
08                     "rel": "self"
09                 },
10                 {
11                     "href": "http://10.1.1.186:8774/170bf7acb88646bc9147085d426c4671/servers/ac561829-dffa-443e-a321-260d48f4cba3",
12                     "rel": "bookmark"
13                 }
14             ],
15             "name": "VM1"
16         },
17         {
18             "id": "e3b84378-7598-48c8-8a1d-bd555c4c1f90",
19             "links": [
20                 {
21                     "href": "http://10.1.1.186:8774/v2/170bf7acb88646bc9147085d426c4671/servers/e3b84378-7598-48c8-8a1d-bd555c4c1f90",
22                     "rel": "self"
23                 },
24                 {
25                     "href": "http://10.1.1.186:8774/170bf7acb88646bc9147085d426c4671/servers/e3b84378-7598-48c8-8a1d-bd555c4c1f90",
26                     "rel": "bookmark"
27                 }
28             ],
29             "name": "VM2"
30         },
31         {
32             "id": "beafef2e-26c4-4320-9b45-70006e71785c",
33             "links": [
34                 {
35                     "href": "http://10.1.1.186:8774/v2/170bf7acb88646bc9147085d426c4671/servers/beafef2e-26c4-4320-9b45-70006e71785c",
36                     "rel": "self"
37                 },
38                 {
39                     "href": "http://10.1.1.186:8774/170bf7acb88646bc9147085d426c4671/servers/beafef2e-26c4-4320-9b45-70006e71785c",
40                     "rel": "bookmark"
41                 }
42             ],
43             "name": "VM3"
44         },
45         {
46             "id": "f8450270-9d96-4dba-b1c2-8ebcef1ff012",
47             "links": [
48                 {
49                     "href": "http://10.1.1.186:8774/v2/170bf7acb88646bc9147085d426c4671/servers/f8450270-9d96-4dba-b1c2-8ebcef1ff012",
50                     "rel": "self"
51                 },
52                 {
53                     "href": "http://10.1.1.186:8774/170bf7acb88646bc9147085d426c4671/servers/f8450270-9d96-4dba-b1c2-8ebcef1ff012",
54                     "rel": "bookmark"
55                 }
56             ],
57             "name": "VM4"
58         }
59     ]
60 }
通过返回值可以看到vm tenant中共包含VM1 VM2 VM3 VM4四台实例。
OpenskyRecorder:调用OpenSky REST API并存储对SQLite数据库的响应 OpenskyRecorder 调用OpenSky REST API并存储对SQLite数据库的响应 使用前重要 这是与OpenSky REST API进行交互的非正式工具。 有关如何使用所提供数据的条款和条件,请首先访问 ! 该脚本是为我的特定用例构建的。 它不是在构建或测试时就考虑到一般用途的。 我只是在这里分享,如果有人觉得有用的话,太好了! 该脚本不遵循任何标准或要求。 这很丑陋,但却能胜任。 随时让它变得美丽:) 功能性 这是一个简单的Python脚本,用于调用OpenSky REST API并将接收到的数据存储在SQLite数据库中。 如果不存在新SQLite数据库,则会在设置的路径上对其进行初始化。 如果可用,将检查列名,如果有效,则脚本开始。 它具有简单的排队机制,可以生成最后一个小时的呼叫时间戳。 如果已经下载了时间戳,它将与您的数据库进行比较。 如果您不 立即下载

相关推荐

别再写前端了!用Gradio 3.x + HuggingFace Spaces,5分钟把你的Python算法变成网页应用

本文介绍如何利用Gradio 3.x和HuggingFace Spaces快速将Python算法转化为网页应用,无需前端开发经验。通过5行代码和简单的Git命令,即可实现专业级Web界面部署,大幅提升算法展示效率。特别适合算法工程师和数据科学家快速分享模型成果。

weixin_33443333的博客 329

OpenStack api使用记录

openstack官方有提供api供开发者使用,可以使用api做一些外围的小工具,用来简化对openstack的管理。本篇主要讲解api中使用GET方法的接口,其余的POST、DELETE方法以后介绍。     api-quickstart:http://docs.openstack.org/api/quick-start/content/index.html     api-doc:

E30714090的专栏 2402

Endnote 导入参考文献的时候,格式错误太多了。et.al错误,国标GBT7714在endnote中的详细配置教程,适用于本科,硕士论文文献插入的模板

EndNote插入文献常遇到以下错误主要如下: 等、et al不分; 英文作者全名大写; 期刊名字使用了缩写(图片里没有体现;卷号、期号缺失时出现乱码,多了半个括号;页码范围略去了相同部分;没有悬挂缩进,本文全部解决,全网最细

sakura的博客 3万+

【亲测免费】 OpenSky Network API 使用教程

OpenSky Network API 使用教程 1. 项目的目录结构及介绍 opensky-api/ ├── LICENSE ├── README.md ├── python │ ├── examples │ │ ├── example.py │ │ └── ... │ ├── opensky_api.py │ └── ... ├── java │ ├── exa...

gitblog_00749的博客 1401

SAR成像系列:【3】合成孔径雷达(SAR)的二维回波信号与简单距离多普勒(RD)算法 (附matlab代码)

二维回波信号分析

zr2006_7的专栏 2万+

【中兴交换机MC-LAG配置】

​ 中兴mc-lag配置 主设备配置如下: Keepalive链路 interface smartgroup1023 //用作MC-LAG的Keepalive链路接口 switch attribute disable yes description For_Keepalived exit interface xgei-0/1/1/47 switch attribute disable yes description For_Keepalived exit interface

qq_31440733的博客 1万+

openstack二次开发:Python API

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33979203的博客 3209

STM32+A4988控制步进电机

基于A4988芯片驱动42步进电机,在STM32F1上进行测试,最高可以实现16细分。

个人博客 4万+

OpenStack API快速入门

OpenStack API快速入门 目录 OpenStack API快速入门 OpenStack API介绍获取证书向API发送请求 安装python-novaclient 列出所有的镜像启动实例  OpenStack API快速入门 OpenStack API介绍获取证书向API发送请求 OpenStack系统包含几个核心项目,他们是分开安

ztejiagn的专栏 2654

晶圆测试(wafer sort)全流程解析:从探针卡到良率统计的实战指南

本文详细解析了晶圆测试(wafer sort)的全流程,从探针卡选型到良率统计的实战指南。涵盖了12英寸先进制程产线的关键技术,包括探针卡系统、测试程序开发、产线自动化集成及数据分析,特别聚焦多站点并行测试的时序优化和接触阻抗异常排查,帮助工程师提升测试效率与准确性。

weixin_29279153的博客 730

【Apache Paimon】-- 13 -- 利用 paimon-flink-action 同步 mysql 表数据

在Paimon 诞生以前,若 mysql/pg 等数据源的表结构发生变化时,我们有几种处理方式(1)人工通知(比如常规的使用邮件),然后运维人员手动同步到数据仓库中(2)使用 flink 消费 DDL binlog ,然后自动更新 Hive 的外部表和内部表 schema那么现在,有了 Paimon ,我们可以利用其特性,自动识别并同步 DDL 这些变化,并同步至 hive 的 paimon 格式表中。

欢迎来到我的博客,一起探索代码里的世界! 1248

openstack java api_OpenStack API介绍及使用快速入门

本帖最后由 howtodown 于 2015-3-17 00:19 编辑问题导读1.什么是 OpenStack API?2.证书包含哪些信息?3.令牌发送API请求,请求头中包含什么字段?4.如何通过curl使用令牌?5.得到401请求时,是什么原因造成的?6. 向API发送请求的方式有几种?OpenStack系统包含几个核心项目,他们是分开安装的,但能共同工作,取决于你的云的需求:OpenSta...

weixin_32060735的博客 874

一台NAS两个系统:飞牛nas上完美运行群晖DSM?(飞牛nas+群晖nas套娃安装实操)

想在飞牛NAS上体验群晖DSM系统?💡 本文详细记录了飞牛nas上部署群晖的完整过程,从镜像转换到系统安装,每一步都有详细说明 🖥️,让你在不增加硬件成本的情况下,轻松实现一套硬件、多种系统的灵活部署 ✅

XiaoqiangClub的博客 2364

Openstack API 开发 快速入门

Openstack 做为流行的开源云计算平台,其最大特性是利用其提供的基础设施API,让我们可以以软件的方式来动态管理IAAS资源。Openstack 提供的api是流行的Rest API. 闲话少说,我们来开始使用Openstack API。 前提:搭建Openstack 环境是必须,可以根据参考资料搭建一个单机虚拟机环境. 假设我们搭建的环境信...

WGH100817的博客 295

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

OpenStack API Documentation

UPDATED: 2018-08-27 15:05 在你的OpenStack云中,使用OpenStack API来启动服务器云主机,创建镜像、给实例和镜像分配元数据、创建存储容器和对象以及完成其他相关的动作。     注解 The links below are grouped according to the API status that reflects the state of ...

成字第0431879 284

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

OpenStack Horizon开发环境

https://docs.openstack.org/horizon/latest/contributor/quickstart.html

u010845350的博客 323

三分钟带你入门了解openstack的cinder项目

文章目录前言一:cinder项目1.1:cinder是什么?有什么作用?1.2:Cinder架构是怎样的?1.3:Cinder有哪些重要组件?1.4:Cinder有哪些常用管理命令? 前言 一:cinder项目 1.1:cinder是什么?有什么作用? 块存储cinder服务是openstack中的一个核心项目,它为OpenStack中的实例提供持久的存储,块存储提供一个基础设施,用于管理卷以及...

CN_TangZheng的博客 1134

openstack学习线路指导

来源网址  http://www.aboutyun.com/thread-7225-1-1.html   网上很多hadoop资料,openstack资料相对较少,这里整理一下,帮助初学者尽快入门。首先我们想学习openstack,那么openstack是什么?能干什么?涉及的初衷是什么?由什么来组成?刚接触openstack,说openstack不是一个软件,而是由多个组件进行组合,这是...

qq_19396231的博客 162

OpenStack API

weixin_33806914的博客 133

openstack api

openstack api 1,Identity service generates authentication tokens that permit access to the openstack service REST APIs,clients obtain this token and the URL catelog endpoint...

weixin_33743703的博客 85

Openstack 快速入门(官方文档直译)

记录下超链接http://blog.chinaunix.net/uid-22414998-id-3263551.html初学openstack,以后有相关见解,将更新此博客。

进击的二蛋的专栏 636
上一篇: Openstack基本命令
下一篇: openstack云5天资料
天魂地煞
博客等级 码龄15年 18粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值