我正在尝试使用以下命令创建一个 cloudsql 实例:
gcloud beta sql instances create sql-instance-1 --tier=db-f1-micro --region=asia-south1 --network=default --storage-type=HDD --storage-size=10GB --authorized-networks=XX.XXX.XX.XX/XX
实例 sql-instance-1 是我不需要一直运行的东西。所以我创建了一个sqldump文件,当我需要数据库时,我会创建它。当我运行此命令时,它失败并显示以下错误
ERROR: (gcloud.beta.sql.instances.create) Resource in project [my-project-id] is the subject of a conflict: The instance or operation is not in an appropriate state to handle the request.
据我了解,gcloud 抱怨之前使用了实例名称,尽管该实例已被删除。当我将名称更改为新的未使用名称时,该命令工作正常。这样做的问题是每次从转储重新创建实例时,我都需要提供一个新名称。
我的问题是:
- 这是预期的行为,即 cloud-sql 实例的名称应该是唯一的,并且在项目之前没有使用过。
- 我还发现 --network 选项无法被 gcloud 识别。似乎仅适用于 gcloud beta 如此处所述。预计何时会成为 GA?
确实是预期的行为。从文档中:
在拥有实例名称后,您最多不能重复使用实例名称 删除了实例。
关于--network
标志及其GA时间表,在测试版之外没有ETA发布。但是,它的版本将列在Google Cloud SDK发行说明中,您可以通过订阅google-cloud-sdk-announce group来获取更新