go - 在没有云 SQL 代理的情况下访问 Cloud SQL 的最佳方式

标签 go google-cloud-sql google-cloud-platform cloud-sql-proxy

我正在编写旨在访问 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/

相关文章:

golang 竞争条件 - 在 2 个 goroutines 中编码为 XML

go - DevOps Services 测试无法在 BlueMix/hub.jazz 中使用 Go

go - 我应该在森林的 POST 请求中使用什么类型?

javascript - Google Cloud Function 未定义参数检测为 null

java - 你如何使用谷歌云平台?

session - 比戈到期日期的Golang session

mysql - 无法打开CloudSQL binlog : "No such file or directory"

google-app-engine - 使用 Google Cloud Dataflow 合并平面文件并导入 Cloud SQL

mysql - 无法显示云sql数据库的内容

google-cloud-platform - 在 Google Cloud Shell 上打开端口