我正在尝试使用以下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'属性。
答案 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关于这种操作。