При запуске Google Compute Engine я получаю неожиданные результаты, отличные от gcutil
, при запросе изображений и ядер. Примечательно, что я не получаю никаких результатов.
С gcutil
я получаю ожидаемый результат:
$ gcutil --project MYPROJECT listimages +----------------------------------------------------------------+----------------------------------------------------------------+----------------------------------------------+-------------+--------+ | name | description | kernel | deprecation | status | +----------------------------------------------------------------+----------------------------------------------------------------+----------------------------------------------+-------------+--------+ | projects/centos-cloud/global/images/centos-6-v20130731 | SCSI-enabled CentOS 6; Created Wed, 31 Jul 2013 00:00:00 +0000 | projects/google/global/kernels/gce-v20130603 | | READY | | projects/debian-cloud/global/images/debian-6-squeeze-v20130723 | Debian GNU/Linux 6.0.7 (squeeze) built on 2013-07-23 | projects/google/global/kernels/gce-v20130603 | | READY | | projects/debian-cloud/global/images/debian-7-wheezy-v20130723 | Debian GNU/Linux 7.1 (wheezy) built on 2013-07-23 | projects/google/global/kernels/gce-v20130603 | | READY | +----------------------------------------------------------------+----------------------------------------------------------------+----------------------------------------------+-------------+--------+
Но когда я использую веб-API или Python API с чем-то вроде этого (сокращенно, но в основном прямо из примеров ):
def _service():
flow = flow_from_clientsecrets(CLIENT_SECRETS, scope=GCE_SCOPE)
storage = Storage(OAUTH2_STORAGE)
credentials = storage.get()
if credentials is None or credentials.invalid:
credentials = run(flow, storage)
http = httplib2.Http()
auth_http = credentials.authorize(http)
gce_service = build('compute', API_VERSION)
return gce_service, credentials, auth_http
if __name__ == "__main__":
gce_service, credentials, auth_http = _service()
request = gce_service.images().list(project="MYPROJECT", filter=None)
response = request.execute(http=auth_http)
pprint(response)
И Web, и Python API возвращают что-то вроде этого:
{ "kind": "compute#imageList", "selfLink": "https://www.googleapis.com/compute/v1beta15/projects/MYPROJECT/global/images", "id": "projects/MYPROJECt/global/images" }
т.е. отсутствует items
, который ожидается в ответе.
Что я здесь делаю не так?