gpt4 book ai didi

go - 如何为网络,存储和计算编写GCP Cloud API实现

转载 作者:行者123 更新时间:2023-12-01 22:28:30 25 4
gpt4 key购买 nike

我正在编写用于网络,存储和计算的GCP Golang sdk API的客户端。我需要正确的电话顺序帮助。

下面的代码是创建磁盘的正确方法吗?有没有编写此代码的有效方法。
disk := new(compute.Disk)
operation, e := service.Disks.Insert(project, zone, disk).Do()

这些其他构造是什么样的?
DisksInsertCall等。它们对于批量磁盘创建是否更有效率?

我正在使用https://godoc.org/google.golang.org/api/compute/库。这没有为我提供创建实例或磁盘所需的适当参数和顺序。

还有什么更快的方式来创建批量虚拟机和磁盘?
1.使用Deployment Manager或
2.使用go例程直接进行API调用

最佳答案

我会坚持使用GCP官方API和Client Libraries。在这种情况下,您需要Compute Engine API

要创建实例,您需要使用method instance.insert,您可以尝试使用该链接底部提供的链接来尝试API,其中包含GCP客户端库支持的最受欢迎的计算机语言中的示例。要通过“尝试使用此API”用户界面添加更多参数,只需点击+符号

以下是适用于此用户界面的我的请求正文

{
"kind": "compute#instance",
"name": "new-instance-1",
"zone": "projects/xxxxxxxxxxxxxxx/zones/us-central1-f",
"machineType": "projects/xxxxxxxxxx/zones/us-central1-f/machineTypes/n1-standard-1",
"displayDevice": {
"enableDisplay": false
},
"metadata": {
"kind": "compute#metadata",
"items": []
},
"tags": {
"items": []
},
"disks": [
{
"kind": "compute#attachedDisk",
"type": "PERSISTENT",
"boot": true,
"mode": "READ_WRITE",
"autoDelete": true,
"deviceName": "new-instance-1",
"initializeParams": {
"sourceImage": "projects/eip-images/global/images/debian-9-drawfork-v20191004",
"diskType": "projects/xxxxxxxxxx/zones/us-central1-f/diskTypes/pd-standard",
"diskSizeGb": "10"
},
"diskEncryptionKey": {}
}
],
"canIpForward": false,
"networkInterfaces": [
{
"kind": "compute#networkInterface",
"subnetwork": "projects/xxxxxxxxxxxx/regions/us-central1/subnetworks/default",
"accessConfigs": [
{
"kind": "compute#accessConfig",
"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": "1060078476845-compute@developer.gserviceaccount.com",
"scopes": [
"https://www.googleapis.com/auth/devstorage.read_only",
"https://www.googleapis.com/auth/logging.write",
"https://www.googleapis.com/auth/monitoring.write",
"https://www.googleapis.com/auth/servicecontrol",
"https://www.googleapis.com/auth/service.management.readonly",
"https://www.googleapis.com/auth/trace.append"
]
}

现在,进入存储的磁盘和存储桶类型很多,我假设您使用上一条命令引用磁盘,即在创建实例期间创建了启动磁盘,并且可以在创建过程中添加多个磁盘。

这是 method to create just a disk,使用 instances.attachDisk方法将现有磁盘附加到实例。同样,如果在创建期间指定了多个磁盘,则可以跳过本段


还有什么更快的方式来创建批量虚拟机和磁盘?


这取决于您的喜好,您可以同时使用这两种,但就我个人而言,我喜欢使用 gcloud commands中的 Cloud Shell

关于go - 如何为网络,存储和计算编写GCP Cloud API实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58292053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com