虽然 Spanner 看起来令人兴奋,但 Simba JDBC 驱动程序的文档(包含在此处的下载链接中:https://cloud.google.com/spanner/docs/partners/drivers https://cloud.google.com/spanner/docs/partners/drivers)相对稀疏,尤其是与 Simba JDBC BigQuery 驱动程序的文档相比(https://cloud.google.com/bigquery/partners/simba-drivers/ https://cloud.google.com/bigquery/partners/simba-drivers/).
特别是,文档仅提到一个连接字符串:
jdbc:cloudspanner://localhost;Project=simba-cloudspanner- jdbc;Instance=test-instance;Database=example-db
...没有关于如何指定服务帐户及其 p12 凭据或 JSON 文件路径(许多 Google Cloud 服务使用这些)的信息。
任何人都可以分享他们已成功用于连接到服务的 JDBC 连接字符串或其他设置详细信息吗?我尝试过,例如设置环境变量GOOGLE_APPLICATION_CREDENTIALS
并提供与上面相同样式的 JDBC 字符串,但无济于事。
理想情况下,我想使用实例 ID、项目名称、数据库名称、服务帐户电子邮件和 p12 文件的组合,但我对其他身份验证选项持开放态度。
编辑:当尝试GOOGLE_APPLICATION_CREDENTIALS
策略,我生成了这个日志文件,以防它有任何帮助https://gist.github.com/aryeh-looker/e6b1b1617d301f0a247463216c96535d https://gist.github.com/aryeh-looker/e6b1b1617d301f0a247463216c96535d
仔细检查了我的工作,看来我am事实上能够通过如上所述的连接字符串并通过设置环境变量进行连接GOOGLE_APPLICATION_CREDENTIALS
。最好有一些其他选项,并且文档仍然有点参差不齐(没有提及环境变量),因此更多信息可能是理想的。
这是一个半可行的解决方案。它的缺点是您不能在同一进程中与不同的服务帐户建立多个连接。
编辑2:这似乎不起作用。当指向 JSON 文件时,我收到有关未指定实例的错误。
编辑:看起来最新版本的 Spanner 驱动程序,有一种方法可以做到这一点。
最新版本的驱动程序 (1.0.4.1005) 似乎支持可选的 JDBC 参数PvtKeyPath
它采用您的私钥的路径,而不是必须设置GOOGLE_APPLICATION_CREDENTIALS
多变的。值得一看。
从随附的 PDF 文档中:
所以你会得到一个像这样的 URL:jdbc:cloudspanner://;Project=...;PvtKeyPath=/path/to/credentials.json
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)