根据Cloud SQL联合查询文档,可以运行多区域BigQuery作业来查询指定的多区域所包含的区域中的Cloud SQL实例:
BigQuery多区域可以查询同一位置(美国,欧盟)中的任何Cloud SQL区域。例如:
BigQuery US多区域可以查询Cloud SQL us-central1,us-east4,us-west2等。
BigQuery EU多个区域可以查询Cloud SQL Europe-north1,Europe-west2等。
但是,当我尝试在us-east4中的Cloud SQL实例上以US的处理位置运行查询时,会引发一个神秘错误。
SELECT id FROM EXTERNAL_QUERY("project.us-east4.external_conn_name", "SELECT id FROM users")
拒绝访问:URI:项目/项目/位置/ us-east4 / connections / external_conn_name:APPLICATION_ERROR; google.cloud.bigquery.connection.v1beta1 / ConnectionService.GetPrivateConnectionInfo; RPC错误; AppErrorCode = 7;
在使用us-east4的处理位置运行时,此查询成功完成。
我已经成功运行了两个月的多区域联合查询,以执行ETL作业,以类似于此处所述答案的方式将us-east4中的Cloud SQL数据加载到美国的BigQuery数据集。我的云团队已经审核了IAM更改,并且似乎没有任何更改可能导致此问题。似乎昨晚Google Cloud Platform进行了一些静默发布的更改,它破坏了我运行的约100个ETL作业。我正努力提出一个快速解决方案,以便我的公司可以继续使用依赖于这些ETL作业的数据。关于如何解决此问题的任何想法?
我已就此向GCP提交了多个问题,但仍未收到回复。希望这会尽快解决。
这是修复此问题的方法:
这将快速可靠的一步式ETL变成了昂贵的四步式ETL,其中涉及大量中间存储。Google,请解决此问题!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句