Google cloud platform 如何在GCP中获得方法instances.aggregatedList计算API的部分响应

Google cloud platform 如何在GCP中获得方法instances.aggregatedList计算API的部分响应,google-cloud-platform,google-compute-engine,google-compute-api,Google Cloud Platform,Google Compute Engine,Google Compute Api,我正在尝试从Compute API method实例中获取特定响应。aggregatedList通过根据设置字段请求参数 但我收到了400个错误请求 是否有一个示例可供我参考以获得聚合方法的部分响应?如果使用以下CURL命令: curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) "https://compute.googleapis.com/com

我正在尝试从Compute API method
实例中获取特定响应。aggregatedList
通过根据设置
字段
请求参数

但我收到了
400个错误请求


是否有一个示例可供我参考以获得聚合方法的部分响应?

如果使用以下CURL命令:

curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) "https://compute.googleapis.com/compute/v1/projects/[CHANGE-FOR-YOUR-PROJECT-ID]/aggregated/instances?maxResults=1"
您会注意到,结果的形式类似于:

{
  "id": "projects/[PROJECT-ID]/aggregated/instances",
  "items": {
    "zones/us-central1-a": {
      "instances": [
        {
          "id": "[INSTANCE-ID]",
          "creationTimestamp": "2020-09-21T06:22:21.604-07:00",
          "name": "instance-1",
          "description": "",
          "tags": {
            "items": [
              "http-server",
              "https-server"
            ],
            "fingerprint": "XXXXXX"
          },
          "machineType": "https://www.googleapis.com/compute/v1/projects/[PROJECT-ID]/zones/us-central1-a/machineTypes/e2-medium",
          "status": "RUNNING",
          "zone": "https://www.googleapis.com/compute/v1/projects/[PROJECT-ID]/zones/us-central1-a",
          "canIpForward": false,
          "networkInterfaces": [
            {
              "network": "https://www.googleapis.com/compute/v1/projects/[PROJECT-ID]/global/networks/default",
              "subnetwork": "https://www.googleapis.com/compute/v1/projects/[PROJECT-ID]/regions/us-central1/subnetworks/[SUBNETWORK_NAME]",
              "networkIP": "10.8.0.13",
              "name": "nic0",
              ... with a lot more fields
如您所见,结果略有不同,如下所示:

请注意,如果比较两个结果,您收到的实际响应在我认为导致您体验的行为的
实例:
字段之前还有一个额外的
“zones/us-central1-a”:
字段

如果您对使用部分资源感兴趣,并且只获取响应中的某些特定字段,则只需遵守共享文档中的说明,并在查询参数中使用

例如,如果您只对获取项目的
id
以及
实例
名称
machineType
status
感兴趣,我在GCP项目中从Cloud Shell测试了以下curl命令,该命令运行正常:

curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) "https://compute.googleapis.com/compute/v1/projects/[PROJECT-ID]/aggregated/instances?fields=id,items/zones%2Finstances(name,machineType,status)"
我看到返回了类似于以下内容的内容:

{
  "id": "projects/[PROJECT-ID]/aggregated/instances",
  "items": {
    "zones/us-central1-a": {
      "instances": [
        {
          "name": "instance-1",
          "machineType": "https://www.googleapis.com/compute/v1/projects/[PROJECT-ID]/zones/us-central1-a/machineTypes/e2-medium",
          "status": "RUNNING"
        },
        {
          "name": "instance-2",
          "machineType": "https://www.googleapis.com/compute/v1/projects/[PROJECT-ID]/zones/us-central1-a/machineTypes/e2-medium",
          "status": "TERMINATED"
        }
      ]
    }
  }
}

@Manindechhabra我很高兴它起了作用!如果答案对你有帮助,请投票并接受:)
{
  "id": "projects/[PROJECT-ID]/aggregated/instances",
  "items": {
    "zones/us-central1-a": {
      "instances": [
        {
          "name": "instance-1",
          "machineType": "https://www.googleapis.com/compute/v1/projects/[PROJECT-ID]/zones/us-central1-a/machineTypes/e2-medium",
          "status": "RUNNING"
        },
        {
          "name": "instance-2",
          "machineType": "https://www.googleapis.com/compute/v1/projects/[PROJECT-ID]/zones/us-central1-a/machineTypes/e2-medium",
          "status": "TERMINATED"
        }
      ]
    }
  }
}