Google API Explorer 未创建 Compute Engine VM 实例

Google API Explorer 未创建 Compute Engine VM 实例

如标题所示,我正在尝试使用 Google API Explorer 运行虚拟机实例。我正在使用实例.插入为此,但我无法让它工作。成功执行调用后,我无法在https://console.cloud.google.com/compute/instances

我尝试执行的请求是从Equivalent REST requestGoogle Cloud ConsoleCreate an instance网页复制的:

{
  "name": "some-name",
  "machineType": "projects/my-project-id/zones/europe-west3-c/machineTypes/f1-micro",
  "displayDevice": {
    "enableDisplay": false
  },
  "metadata": {
    "items": [
      {
        "key": "startup-script",
        "value": "#! /bin/bash\necho hello\nEOF"
      }
    ]
  },
  "tags": {
    "items": []
  },
  "disks": [
    {
      "type": "PERSISTENT",
      "boot": true,
      "mode": "READ_WRITE",
      "autoDelete": true,
      "deviceName": "some-name",
      "initializeParams": {
        "sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200910",
        "diskType": "projects/my-project-id/zones/europe-west3-c/diskTypes/pd-standard",
        "diskSizeGb": "10",
        "labels": {}
      },
      "diskEncryptionKey": {}
    }
  ],
  "canIpForward": false,
  "networkInterfaces": [
    {
      "subnetwork": "projects/my-project-id/regions/europe-west3/subnetworks/default",
      "accessConfigs": [
        {
          "name": "External NAT",
          "type": "ONE_TO_ONE_NAT",
          "networkTier": "PREMIUM"
        }
      ],
      "aliasIpRanges": []
    }
  ],
  "description": "",
  "labels": {},
  "scheduling": {
    "preemptible": false,
    "onHostMaintenance": "MIGRATE",
    "automaticRestart": true,
    "nodeAffinities": []
  },
  "deletionProtection": false,
  "reservationAffinity": {
    "consumeReservationType": "ANY_RESERVATION"
  },
  "serviceAccounts": [
    {
      "email": "[email protected]",
      "scopes": [
        "https://www.googleapis.com/auth/cloud-platform"
      ]
    }
  ],
  "shieldedInstanceConfig": {
    "enableSecureBoot": false,
    "enableVtpm": true,
    "enableIntegrityMonitoring": true
  },
  "confidentialInstanceConfig": {
    "enableConfidentialCompute": false
  }
}

以下是状态响应200

{
  "id": "2981010757915612255",
  "name": "operation-1602235056020-5b1396b5c5cee-e0e30499-4d06ce75",
  "zone": "https://www.googleapis.com/compute/v1/projects/my-project-id/zones/europe-west3-c",
  "operationType": "insert",
  "targetLink": "https://www.googleapis.com/compute/v1/projects/my-project-id/zones/europe-west3-c/instances/ams2-linux-race-1",
  "targetId": "1541614827291382879",
  "status": "RUNNING",
  "user": "[email protected]",
  "progress": 0,
  "insertTime": "2020-10-09T02:17:36.818-07:00",
  "startTime": "2020-10-09T02:17:36.821-07:00",
  "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project-id/zones/europe-west3-c/operations/operation-1602235056020-5b1396b5c5cee-e0e30499-4d06ce75",
  "kind": "compute#operation"
}

我对 C# 代码示例有同样的问题https://cloud.google.com/compute/docs/reference/rest/v1/instances/insert#examples

我可以毫无错误地执行相同的请求,并且我得到了这个响应

{
   "clientOperationId":null,
   "creationTimestamp":null,
   "description":null,
   "endTime":null,
   "error":null,
   "httpErrorMessage":null,
   "httpErrorStatusCode":null,
   "id":3283200477858999168,
   "insertTime":"2020-10-09T00:46:55.187-07:00",
   "kind":"compute#operation",
   "name":"operation-1602229614262-5b1382701b989-381126a6-cc145485",
   "operationType":"insert",
   "progress":0,
   "region":null,
   "selfLink":"https://www.googleapis.com/compute/v1/projects/my-project-id/zones/europe-west3-c/operations/operation-1602229614262-5b1382701b989-381126a6-cc145485",
   "startTime":"2020-10-09T00:46:55.189-07:00",
   "status":"RUNNING",
   "statusMessage":null,
   "targetId":2365846324436118401,
   "targetLink":"https://www.googleapis.com/compute/v1/projects/my-project-id/zones/europe-west3-c/instances/some-name",
   "user":"[email protected]",
   "warnings":null,
   "zone":"https://www.googleapis.com/compute/v1/projects/my-project-id/zones/europe-west3-c",
   "ETag":null
}

但我看不到任何新实例被创建......

有人知道这里的问题是什么吗?Compute Engine API 已启用。结果gcloud services list

NAME                              TITLE
...
compute.googleapis.com            Compute Engine API
...

答案1

创建实例的 API 调用是异步的,您获得了 HTTP 状态 200,表示成功提交了有效请求,但这并不意味着实例已成功创建。

输出"progress": 0显示它尚未完成,完成后您将获得"progress": 100。使用gcloud compute operations describe OPERATION_NAME命令跟踪您的请求状态。操作名称位于 API 调用的输出中 - "name": "operation-1602235056020-5b1396b5c5cee-e0e30499-4d06ce75"... 如果未创建实例,它应该会告诉您操作失败的原因。您还可以使用 GCP 控制台上的 stackdriver 活动日志来查找与您的请求相关的任何错误。

相关内容