我正在编写旨在访问 CloudSQL 数据库的服务 (Golang)。
连接到 CloudSQL 实例的推荐方法是使用 cloud_sql 代理 - 对数据库进行身份验证并处理 SSL。
但是,出于性能和其他一些原因,我想使用处理身份验证的 Golang 包直接访问数据库。
目前,使用database/sql
包发起与数据库的连接是行不通的,因为我需要使用CloudSQL 将机器IP 列入白名单。但考虑到我正在使用 Kubernetes 部署我的应用程序,原始 IP 可能随时更改。
我很想知道是否有人知道解决这个问题的最佳方法是什么。
最佳答案
如果您使用的是 Postgresql,则可以使用他们的 go
库:https://cloud.google.com/sql/docs/postgres/connect-external-app#go
对于 MySQL,请参阅此文档: https://cloud.google.com/sql/docs/mysql/connect-external-app#go
还没有测试过这种方法( vendor 会把我锁定到 gcloud),但他们的文档往往是可靠的并且是最新的。
关于go - 在没有云 SQL 代理的情况下访问 Cloud SQL 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47886971/