使用Deployment Manager部署Google Cloud Bigtable

时间:2018-12-18 18:03:03

标签: google-cloud-bigtable google-deployment-manager

我正在尝试使用以下YAML配置文件部署Bigtable实例:

resources:
- name: foo-bigtable-instance
  type: bigtableadmin.v2.instance
  properties:
     name: foo
     displayName: Foo Bigtable Instance
     type: Development

当我调用 gcloud部署管理器部署创建时,出现以下错误...

ERROR: (gcloud.deployment-manager.deployments.create) Error in Operation [operation-1545154324304-57d4f469f9081-51e37137-270e5638]: errors:
- code: MISSING_REQUIRED_FIELD
  location: /deployments/sam-poc-deployment/resources/foo-bigtable-instance->$.properties->$.parent
  message: |-
    Missing required field 'parent' with schema:
    {
      "type" : "string"
    }

什么是必需的“父”属性?该错误表明它是一个具有单个名为“ type”的字段的对象。

但是“父母”代表什么?以及“类型”的允许值是什么? Documentation中未提及'parent'属性。

2 个答案:

答案 0 :(得分:2)

这有点混乱,因为parent实际上是在该资源的create operation的路径中定义的。它代表拥有Bigtable实例的项目。有关用法的更多信息,请参见Bigtable snippet

答案 1 :(得分:2)

您的 yaml文件中存在一些错误。我相信此修改可以解决您的问题:

resources:
- type: bigtableadmin.v2.instance
  name: foo-bigtable-instance
  properties:
    instanceId: [AN_INSTANCE_ID]
    parent: projects/[YOUR_PROJECT]
    instance:
      displayName: Foo Bigtable Instance
      type: DEVELOPMENT
    clusters:
      initial:
        defaultStorageType: HDD
        location: projects/[YOUR_PROJECT]/locations/[PREFERRED_LOCATION ]

此外,我注意到您正在使用projects.instances的文档,但在这种情况下,最好将其用于projects.instances.create。它具有有关实例创建和所需字段的更多信息。您也可以参考GCP提供的various examples关于这种操作。