2

我正在使用 OpenStack 的 REST API 以编程方式实现启动或停止服务器。

API参考的链接是http://api.openstack.org/api-ref.html#ext-os-server-start-stop 这需要python中的字典如下:

dict = {
     os-start:null
    } 

然后我正在做一个 json.dumps(dict) 并向 openstack 的 nova 模块的公共 URL 发出 post 请求。

当我运行这个程序时,未知全局名称“null”的错误。因此,它不起作用。

我想知道这个在 OpenStack 上启动服务器工作的请求,我应该使用什么作为请求 JSON 中字段“os-start”的值。

让我知道是否需要任何其他信息。

先感谢您。

4

2 回答 2

7

Python 的None单例被转换为 JSON null,反之亦然。改用它:

>>> import json
>>> json.dumps({'os-start': None})
'{"os-start": null}'
>>> json.loads('{"os-start": null}')
{u'os-start': None}
于 2013-07-29T08:27:46.293 回答
1

可能有点离题,但是当你使用 openstack REST API 时,我也建议你看看libcloud,它有 openstack 驱动程序。

Libcloud 不仅提供了统一的云端接口,还抽象了访问层到 openstack REST API

于 2013-07-29T09:21:30.510 回答