【问题标题】:Create disk snapshot using google cloud python api client使用谷歌云 python api 客户端创建磁盘快照
【发布时间】:2018-02-21 21:55:36
【问题描述】:

我正在尝试使用谷歌云平台的 python api 客户端创建磁盘快照, 这是我尝试过的:来自 views.py

        if request.method == 'POST':
        form = forms.SnapshotForm(request.POST)
        if form.is_valid():
            obj = snapy()
            obj.project = form.cleaned_data['project']
            obj.instance = form.cleaned_data['instance']
            obj.zone = form.cleaned_data['zone']
            obj.snapshot = form.cleaned_data['snap_name']
            # Google Cloud stuff for Snapshot
            service = discovery.build('compute', 'v1',
                                      credentials=credentials)
            project_id = obj.project
            zone = obj.zone
            disk = obj.instance
            snapshot_body = {}
            request = service.disks().createSnapshot(project=project_id, zone=zone,
                                                     disk=disk, body=snapshot_body)
            response = request.execute()
            pprint(response)
            obj.save()
            print(obj)
    return HttpResponse('Good', status=200)

它没有返回错误,但没有在 gcp 控制台上创建快照。 我配置有什么问题吗?请帮帮我!

回复如下:

[2017 年 9 月 10 日 08:09:46]“GET /snap/HTTP/1.1”200 2740

{'id': '8462873153659819689', 
 'insertTime': '2017-09-13T01:11:51.025-07:00',
 'kind': 'compute#operation',
 'name': 'operation-1505290310763-5590db641c1f8-9be2938e-9e1b974f',
 'operationType': 'createSnapshot',
 'progress': 0,
 'selfLink': 'https://www.googleapis.com/compute/v1/projects/istiodep/zones/asia-northeast1-c/operations/operation-1505290310763-5590db641c1f8-9be2938e-9e1b974f',
 'status': 'PENDING',
 'targetId': '1514253394633906452',
 'targetLink': 'https://www.googleapis.com/compute/v1/projects/istiodep/zones/asia-northeast1-c/disks/instance-1',
 'user': 'saqib.rasool@seecs.edu.pk',
 'zone': 'https://www.googleapis.com/compute/v1/projects/istiodep/zones/asia-northeast1-c'
}
Snapshot object

【问题讨论】:

    标签: python django google-cloud-platform google-compute-engine google-api-python-client


    【解决方案1】:

    我认为,您的问题可能是由于空的 snapshot_body 引起的。

    在 google-cloud 中,快照的名称是必填字段。 如果您使用service.zoneOperations查看操作状态,那么您可能会看到它的状态,您也可能会得到原因。

    我能够使用以下 sn-p 创建快照:

    body = {
    'name':'test-snap'
    }
    
    compute.disks().createSnapshot(
     project=project, zone=zone, body=body).execute()
    

    如果这对你不起作用,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-17
      • 2023-04-01
      • 2021-03-21
      • 2018-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多