为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕沐林林 2023-11-09 21:44:44
我正在寻找所有活动资源(如计算引擎、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)
查看完整描述

1 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

gcloud compute instances list 您可以使用 Cloud Console命令或instances.list() 方法列出项目中的所有实例 。

要以表格形式列出项目中的所有实例,请运行:

gcloud compute instances list

你会得到类似的东西:

NAME        ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP   STATUS

instance-1  us-central1-a  n1-standard-1               10.128.0.44  xx.xx.xxx.xx  RUNNING

instance-2  us-central1-b  n1-standard-1               10.128.0.49  xx.xx.xxx.xx  RUNNING

编辑1

正如您所提到的,aggregateList()是正确的,要获取所需的信息,必须检查 JSON 响应正文。

如果您需要某些特定字段,您可以检查响应正文信息。

另外,您可以使用此代码作为指南,我正在从实例中获取所有信息。

from pprint import pprint

from googleapiclient import discovery

from oauth2client.client import GoogleCredentials

credentials = 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)



查看完整回答
反对 回复 2023-11-09
  • 1 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信