【发布时间】:2020-07-02 12:08:51
【问题描述】:
我有一个在 BigQuery 控制台中创建视图的复杂查询。 我已将其简化为以下内容以说明问题
SELECT
REGEXP_EXTRACT(FIELD1, r"[\d]*") as F1,
REGEXP_REPLACE(FIELD2, r"\'", "") AS F2,
FROM `project.mydataset.mytable`
现在我正在尝试使用云构建自动创建视图。 我无法锻炼如何在正则表达式中分隔字符串以同时使用 yaml 和 SQL。
- name: 'gcr.io/cloud-builders/gcloud'
entrypoint: 'bq'
args: [
'mk',
'--use_legacy_sql=false',
'--project_id=${_PROJECT_ID}',
'--expiration=0',
'--view=
REGEXP_EXTRACT(FIELD1, r"[\d]*") as F1 ,
REGEXP_REPLACE(FIELD2, r"\'", "") AS F2,
REGEXP_EXTRACT(FIELD3, r"\[(\d{3,12}).*\]") AS F3
FROM `project.mydataset.mytable`"
'${_TARGET_DATASET}.${_TARGET_VIEW}'
]
我收到以下错误
未能触发构建:解组构建配置失败 cloudbuild/build-views.yaml: json: 无法将数字解组到 Go 字符串类型的值
我已尝试使用 Cloud Build 替换参数以及 SQL 和 YAML 转义序列的尽可能多的组合,以找到可行的解决方案。
【问题讨论】:
-
另一种方法是将其移动到 bash 脚本并从其运行,如另一篇文章中所述。 stackoverflow.com/a/55349768/8210931
标签: google-bigquery yaml google-cloud-build