表的AWS Glue查找模式引用



使用AWS cdk2创建模式和表,我似乎有问题链接schemaReference

const schema = new glue.CfnSchema(this, "User", {
compatibility: "NONE",
dataFormat: "JSON",
name: "user",
schemaDefinition: JSON.stringify(userSchema),
});
new glue.CfnTable(
this,
"UserTable",
{
catalogId: this.account,
databaseName: "my_db",
tableInput: {
name: "users",
tableType: "EXTERNAL_TABLE",
storageDescriptor: {
location: "my_db.public.users",
schemaReference: schema,
},
parameters: {
classification: "postgresql",
typeOfData: "table",
connectionName: "rds_conn",
},
},
}
);

似乎我希望schemaReference能够以某种方式使用Cfn输出?我只能通过硬编码schemaReference对象与我在控制台上找到的schemaVersionId来实现此工作。

我的解决方案是将模式版本锁定在其定义中,然后按名称引用模式。示例

new glue.CfnSchema(this, "User", {
name: "user",
// ...
checkpointVersion: {
versionNumber: 1,
},
});
new glue.CfnTable(
this,
"UserTable",
{
// ...
tableInput: {
// ...
storageDescriptor: {
// ...
schemaReference: {
schemaId: {
registryName: "default-registry",
schemaName: "user",
},
schemaVersionNumber: 1,
},
},
},
}
);

虽然冗长,但它具有跨堆栈可移植的优点。

相关内容

  • 没有找到相关文章