使用 REST API 从机器映像创建 VM 实例

cha*_*dan 6 google-compute-engine google-cloud-platform google-apis-explorer

我正在努力使用 REST API 中的机器映像创建 VM 实例。

我可以使用https://cloud.google.com/compute/docs/reference/rest/beta/instances/insert中的“尝试此 API”创建一个实例

{
        "name": 'demo-x2',
        "projects": 'resonant-time-282213',
        "zone" : 'asia-east1-c',
        "sourceMachineImage" : 'projects/resonant-time-282213/global/machineImages/t4-mtml-1',
        "machineType" : 'projects/resonant-time-282213/zones/asia-east1-c/machineTypes/n1-standard-8'
}
Run Code Online (Sandbox Code Playgroud)

在 python 代码中使用它时,它在终端中显示以下错误:

googleapiclient.errors.HttpError: <HttpError 400 when requesting https://compute.googleapis.com/compute/v1/projects/resonant-time-282213/zones/asia-east1-c/instances?alt=json returned "Invalid value for field 'resource.disks': ''. No disks are specified.". Details: "Invalid value for field 'resource.disks': ''. No disks are specified.">
Run Code Online (Sandbox Code Playgroud)

它正在寻找哪个磁盘信息?磁盘详细信息已在计算机映像中。

小智 2

看来目前仅在“beta”频道中可用。

因此,当您构建对象时,必须使用“beta”而不是“V1”,如下所示:

service = discovery.build('compute', 'beta', credentials=credentials)
Run Code Online (Sandbox Code Playgroud)