使用 Pulumi 执行 DDL 在 BigQuery 中创建表

Execute DDL to create tables in BigQuery using Pulumi

我使用 Pulumi 作为自动化工具在 BigQuery 中创建 table/view。不幸的是,Pulumi 仅支持 JSON 模式,而我需要从 DDL 创建 table/view。

示例 ddl :

create table <table_name> ( col1 datatype , .....) partition by date_col ;

已尝试创建 Pulumi 作业table,但这也不起作用

job = gcp.bigquery.Job("job",
                       job_id="job_query",
                       labels={
                           "example-label": "example-value",
                       },
                       query=gcp.bigquery.JobQueryArgs(
                           query="""
                           CREATE TABLE `pulumi_test.tb_test` (
                                      `id` string(36) ,
                                      `date_col` DATE
                                    )PARTITION BY date_col
                                    OPTIONS(
                                      require_partition_filter=true
                                    )
                                    """,
                           use_legacy_sql = False,

                       ))

Pulumi 有命令接口可以用来解决这个问题。我们可以使用 Pulumi 界面并可以利用 BigQuery 命令行(“bq”)

import pulumi
from pulumi_command import local
random = local.Command("random",create=" bq query --use_legacy_sql=false < 
                      test.sql" )   
pulumi.export("random", random.stdout)