如何通过 API 获取有关所有可用图像的信息以创建 vm 实例

How to get information about all available images to create vm instance through API

我正在创建一种需求输入应用程序,我想在其中通过 google API 填充元数据(区域、区域、图像等)。我用我的项目 ID 调用此 API,例如 https://compute.googleapis.com/compute/v1/projects/{project}/global/images。但是我收到了 200 条回复,但没有看到任何数据。

谢谢
科维

https://compute.googleapis.com/compute/v1/projects/{project}/global/images

{
  "id": "projects/sap-iidc-cde/global/images",
  "selfLink": "https://www.googleapis.com/compute/v1/projects/sap-iidc-cde/global/images",
  "kind": "compute#imageList"
}

此 API 仅 returns 自定义图像可用于指定项目。自定义图像是项目创建的图像。

如果您想列出其他项目(如 Debian 或 Windows 中的图像,您需要使用它们的项目 ID。

知名图片项目:

centos-cloud, coreos-cloud, debian-cloud, cos-cloud, rhel-cloud, rhel-sap-cloud, suse-cloud, suse-sap-cloud, ubuntu-os-cloud, windows-cloud, windows-sql-cloud

要列出图像,请使用 SDK CLI。这将向您显示与每个图像关联的各种项目 ID。

gcloud compute images list

当前获取 public 图像列表在 image.list 方法中不可用。 有一张票要求支持 public 图片,但没有最近的更新。 https://issuetracker.google.com/issues/64718267

解决方法是卷曲 https://console.cloud.google.com/compute/images?project=,然后解析响应以获取图像 ID

否则,gcloud 命令是目前最好的选择。您可以 运行 在您的程序中执行此命令并解析输出以获取图像列表。