我有一个带有多个嵌套镶木地板文件的 gcs 存储桶。我想在 BQ 中将镶木地板文件查看为外部表。
例如:
path1 >> path2 >> path3 >> path4 >> *.parquet
path11 >> path22 >> path33 >> *.parquet
有没有办法可以使用 terraform 列出 gcs uri?然后在 terraform 中使用 gcs_uri
写成这样:
variable my_table_config {
default = {
first_table = { gcs_path = "path11/path22/path33/*.parquet"}
second_table = { gcs_path = "path1/path2/path3/path3/path4/*.parquet"}
}
}
resource "google_bigquery_dataset" "my_dataset" {
# create table
}
resource "google_bigquery_table" "my_dataset_external_tables" {
dataset_id = google_bigquery_dataset.my_dataset.dataset_id
for_each = var.my_table_config # start loop here
table_id = each.key
external_data_configuration {
autodetect = true
source_format = "PARQUET"
ignore_unknown_values = true
source_uris = [
"gs://my-gcs-bucket/${(each.value).gcs_path}" # get path of parquet files
]
}
project = var.project
}
如果我有少量的 gcs_uri
(我可以附加在 my_table_config
中),上述 terraform 将起作用。但我有成千上万的 gcs_uri
要做。我正在寻找自动检索 gcs_uri 的东西。请帮忙。谢谢。