列出谷歌云计算引擎活动实例

我正在寻找所有活动资源(如计算引擎、gke 等)和各自的区域。我尝试使用下面的 python 代码来打印它,但它会在计算引擎可用的地方打印所有区域信息,请有人指导我可以使用哪些功能来执行此操作。


    compute = googleapiclient.discovery.build('compute', 'v1')

    request = compute.instances().aggregatedList(project=project)

    while request is not None:

        response = request.execute()

        for name, instances_scoped_list in response['items'].items():

            pprint((name, instances_scoped_list))

            request = compute.instances().aggregatedList_next(previous_request=request, previous_response=response)


慕沐林林
浏览 108回答 1
1回答

叮当猫咪

gcloud compute instances list 您可以使用 Cloud Console命令或instances.list() 方法列出项目中的所有实例 。要以表格形式列出项目中的所有实例,请运行:gcloud compute instances list你会得到类似的东西:NAME        ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP   STATUSinstance-1  us-central1-a  n1-standard-1               10.128.0.44  xx.xx.xxx.xx  RUNNINGinstance-2  us-central1-b  n1-standard-1               10.128.0.49  xx.xx.xxx.xx  RUNNING编辑1正如您所提到的,aggregateList()是正确的,要获取所需的信息,必须检查 JSON 响应正文。如果您需要某些特定字段,您可以检查响应正文信息。另外,您可以使用此代码作为指南,我正在从实例中获取所有信息。from pprint import pprintfrom googleapiclient import discoveryfrom oauth2client.client import GoogleCredentialscredentials = GoogleCredentials.get_application_default()service = discovery.build('compute', 'v1', credentials=credentials)# Project ID for this request.project = "{Project-ID}"  # TODO: Update placeholder value.request = service.instances().aggregatedList(project=project)while request is not None:    response = request.execute()    instance = response.get('items', {})    for instance in instance.values():      for a in instance.get('instances', []):          print(str(instance))    request = service.instances().aggregatedList_next(previous_request=request, previous_response=response)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python