API告诉我,我会得到一个json响应,但我得到的是None

时间:2016-11-26 10:26:23

标签: python digital-ocean

我正在尝试在Digital Ocean中创建一个Droplet.API告诉我.create的响应是一个JSON对象。当我运行此查询时,在我的DigitalOcean帐户中成功创建了一个Droplet,但我只得到None作为响应。问题是什么?

import digitalocean
droplet = digitalocean.Droplet(token="<<<TOKEN>>>",
                                   name='DanyshOcean',
                                   region='nyc2', # New York 2
                                   image='ubuntu-14-04-x64', # Ubuntu 14.04 x64
                                   size_slug='512mb',  # 512MB
                                   backups=True)
    jsonobj=droplet.create()
    print(jsonobj)

输出:

None

2 个答案:

答案 0 :(得分:0)

droplet.create()将创建Droplet,droplet本身就是一个具有新Droplet属性的对象。

试着举例:

print(droplet.id)

droplet.destroy()

答案 1 :(得分:0)

Digital Ocean REST API与python库(可能在封面下使用API​​)不同。

如果你看到library docs,就会发现需要使用status

actions = droplet.get_actions()
for action in actions:
    action.load()
    # Once it shows complete, droplet is up and running
    print(action.status)

一旦有complete状态,您的Droplet就会启动。我不知道这是否阻塞并等待你的Droplet完成,所以你可能需要这样做:

import time

running = False
while not running:
    print('Waiting 1s for droplet to start up...')
    time.sleep(1)
    actions = droplet.get_actions()
    for action in actions:
        action.load()
        if action.status == 'complete':
            running = True