使用 Cloud Workflows 的 Devops 风格。
您可以使用Cloud Workflows和使用Cloud Build的步骤自动执行此操作。
有一个完整的指南发布了如何使用 Cloud Workflows 在 VM 上运行 shell 命令,还有另一个如何使用 Cloud Workflows 将文件从 Cloud Storage 自动化到 BigQuery。
除了运行 shell 命令,您还可以使用一系列操作来
- 连接到 IAP
- 运行 SELECT INTO FILE as csv 命令(转义需要做的事情)
- 将文件移动到云存储
- 使用加载 API 导入 BigQuery
这样一来,您就不会向 BigQuery 产生加载费用,因为将数据加载到 BQ 是免费的。您将产生 Cloud Storage 费用,但仅限于文件存在且导入后您可以删除它的时间。
使用外部数据源。
您可能想要设置与数据库的 Cloud SQL 连接。通过执行此处定义的步骤查看是否适用于您的设置。
您需要按照指南在外部数据源窗格中输入所需的连接信息,例如云 SQL 实例 ID、用户、密码。
如果连接建立,您可以使用 EXTERNAL_QUERY 语法从 Cloud SQL 实例中读取数据,并写入 BigQuery 表。执行此操作会产生费用,因为查询也会针对从 Cloud SQL 读取的数据计费。
SELECT * FROM EXTERNAL_QUERY("connection_id",
"select * from db.table;");
您可以使用计划查询自动执行此步骤。
https://cloud.google.com/bigquery/docs/cloud-sql-federated-queries#setting-up-cloud-sql-database-connections