2

我有两个 Google 项目:devprod. 我还从位于这些项目中的不同存储桶导入数据:dev-bucketprod-bucket.

dev环境中进行并测试更改后,如何顺利应用(部署/复制)更改prod

我现在要做的是从中导出流dev,然后将其重新导入prod. 但是,每次我需要在 `prod 流程中手动执行以下操作:

  • 更改在流中用作输入的数据集
  • 替换正确 BigQuery 数据集的手动和预定目标(dev-dataset-bigqueryprod-dataset-bigquery

怎样才能做得更顺畅?

4

1 回答 1

0

如果您想在 Google Cloud Storage (GCS) 存储桶dev-bucket和之间复制数据prod-bucket,Google 提供了具有此功能的存储传输服务。https://cloud.google.com/storage-transfer/docs/create-manage-transfer-console您可以手动触发数据从一个存储桶复制到另一个存储桶,也可以让它按计划运行。

对于第二部分,听起来两者dev-dataset-bigquery都是prod-dataset-bigquery从 GCS 中的文件加载的?如果是这种情况,BigQuery Transfer Service 可能会派上用场。https://cloud.google.com/bigquery/docs/cloud-storage-transfer您可以手动触发传输作业,或者让它按计划运行。

正如其他人在评论中所说,如果您需要在开始从 dev 到 prod 的传输之前验证数据,诸如 spinnaker 之类的 CI 系统可能会有所帮助。如果验证可以自动化,Apache Airflow 等系统(如果您需要托管版本,则在 Cloud Composer 上运行)提供比传输服务更大的灵活性。

于 2019-08-09T23:33:09.730 回答