2016-09-26 108 views
0

我想使用谷歌云蟒API来创建从快照磁盘来创建快照磁盘:无法使用谷歌云引擎API

def createDisk(compute, project, zone): 
    config = { 
    'name': disk_name 
    } 

    return compute.disks().insert(
    project=project, 
    zone=zone, 
    sourceSnapshot='global/snapshots/' + snap_name, 
    body=config).execute() 

但它抛出:

TypeError: Got an unexpected keyword argument "sourceSnapshot" 

根据到docs它应该是可能的:

使用re中的数据在指定项目中创建永久磁盘寻求。您可以使用sourceImage,sourceSnapshot创建磁盘,或者通过省略所有属性来创建一个空的500 GB数据磁盘。您还可以通过指定sizeGb属性来创建大于默认大小的磁盘。

我需要它来自动化我想基于'虚拟'实例的图像创建。然后应该使用该图像创建一个磁盘,然后该磁盘将用于实例模板中的自动缩放。

那一个的任何提示?可能吗?如果不是,sourceSnapshot参考文档是真的有误导性吗?

预先感谢您。

+0

尽管文字说,参数框只显示'sourceImage'。 – Barmar

+0

也许你对这两个参数都使用'sourceImage'参数,并且它会自动判断它是图像还是快照。 – Barmar

+0

@Barmar:我也试过,但是:'“字段'resource.sourceImage'的值无效:''。必须是有效图像资源的URL。”' –

回答

0

它出来了,sourceSnapshot应该是身体请求的一部分,而不是一个参数。所以这将工作:

def createDisk(compute, project, zone): 
    config = { 
    'name': disk_name, 
    'sourceSnapshot': 'global/snapshots/' + snap_name, 
    } 

    return compute.disks().insert(
    project=project, 
    zone=zone, 
    body=config).execute()