我正在尝试使用“外部数据源”将BigQuery连接到CloudSQL Postgres DB。建立连接后,我在BigQuery中看到以下错误:
Invalid table-valued function EXTERNAL_QUERY
Connect to PostgreSQL server failed: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
at [1:15]我尝试设置一个沙箱项目,在那里遇到了同样的问题。然后,我尝试在CloudSQL配置中启用“公共IP”连接,这似乎解决了沙箱中的问题。
我希望能够在不打开公网IP的情况下这样做,因为我只想将我的数据保存在我的内网中。是否可以像我所描述的那样通过BigQuery使用内网IP CloudSQL实例?
发布于 2021-05-05 15:17:26
检查服务帐户%1在项目中是否具有角色"cloudsql.client“。如果未找到角色"cloudsql.client“的服务帐户,请手动添加该帐户
1个service-@gcp-sa-bigqueryconnection.iam.gserviceaccount.com
原因- BigQuery使用内部服务帐号访问云SQL实例。此服务帐户是在每个客户项目首次为其云SQL实例创建BQ连接时创建的。此服务帐户在用户项目中具有cloudsql.client角色。如果由于任何原因从项目中删除此服务帐户,将遇到权限被拒绝错误。
发布于 2021-05-14 17:03:55
根据documentation的要求,不支持使用内网IP连接云SQL和大查询,需要使用外网IP。
或者,您可以添加没有授权地址的公网IP连接。
虽然这不如仅内网IP安全,但您的实例将仍然无法从公共internet访问,并且可以从BigQuery查询。
您可以查看有关云SQL here的公网IP的更多信息。
https://stackoverflow.com/questions/67223682
复制相似问题