Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 部署管理器:操作失败,因为另一个操作已在进行中_Google Cloud Platform_Google Cloud Sql_Google Deployment Manager - Fatal编程技术网

Google cloud platform 部署管理器:操作失败,因为另一个操作已在进行中

Google cloud platform 部署管理器:操作失败,因为另一个操作已在进行中,google-cloud-platform,google-cloud-sql,google-deployment-manager,Google Cloud Platform,Google Cloud Sql,Google Deployment Manager,我想在一个cloudsql实例中创建两个数据库。 但如果按以下方式编写,则会导致错误 resources: - name: test-instance type: sqladmin.v1beta4.instance properties: region: us-central backendType: SECOND_GEN instanceType: CLOUD_SQL_INSTANCE settings: tier: db-f1-micro

我想在一个cloudsql实例中创建两个数据库。 但如果按以下方式编写,则会导致错误

resources:
- name: test-instance
  type: sqladmin.v1beta4.instance
  properties:
    region: us-central
    backendType: SECOND_GEN
    instanceType: CLOUD_SQL_INSTANCE
    settings:
      tier: db-f1-micro
- name: test_db1
  type: sqladmin.v1beta4.database
  properties:
    instance: $(ref.test-instance.name)
    charset: utf8mb4
    collation: utf8mb4_general_ci
- name: test_db2
  type: sqladmin.v1beta4.database
  properties
    instance: $(ref.test-instance.name)
    charset: utf8mb4
    collation: utf8mb4_general_ci
输出:

ERROR: (gcloud.deployment-manager.deployments.create) Error in Operation 
[operation-********]
- code: RESOURCE_ERROR
  location: /deployments/sample-deploy/resources/test_db2
   message:
'{"ResourceType":"sqladmin.v1beta4.database","ResourceErrorCode":"403","ResourceErrorMessage":{"code":403,"errors":[{"domain":"global","message":"Operation
    failed because another operation was already in progress.","reason":"operationInProgress"}],"message":"Operation
    failed because another operation was already in progress.","statusMessage":"Forbidden","requestPath":"https://www.googleapis.com/sql/v1beta4/projects/****/instances/test-instance/databases","httpMethod":"POST"}}'

请告诉我如何解决该错误。

错误“ResourceErrorCode”是一个源于的错误

这里的问题是部署管理器将尝试并行运行所有资源修改(除非指定资源之间的依赖关系)。部署管理器是一种声明性配置,它将并行运行部署,无论它们是否相互独立

在这种特定情况下,CloudSQL不能同时创建两个数据库。这就是您看到错误消息的原因:
操作失败,因为另一个操作已在进行中

由于固有的系统架构,在给定的时间点上只能有一个挂起的操作。这是对并发写入CloudSQL数据库的限制

要解决此问题,必须按顺序而不是并行地创建这两个数据库

有关如何执行此操作的更多信息,您可以咨询此问题