2017-02-17 13 views
2

は、(ここではダウンロードリンクに含ま:https://cloud.google.com/spanner/docs/partners/drivers)シンバJDBCドライバのドキュメントは、シンバJDBC BigQueryのドライバのドキュメント(https://cloud.google.com/bigquery/partners/simba-drivers/)と比較する場合は特に、比較的まばらで。特にGoogle Spanner:JDBC接続文字列?スパナはエキサイティング見えますが

、ドキュメントが一つだけの接続文字列を言及:

jdbc:cloudspanner://localhost;Project=simba-cloudspanner- jdbc;Instance=test-instance;Database=example-db 

...例えば、指定する方法についての情報、サービスアカウントおよびそのP12資格またはJSONへのパスが存在しませんファイルで、多くのGoogle Cloudサービスが使用しています。

は誰シェアJDBC接続文字列またはその他の設定の詳細、彼らは成功したサービスに接続するために使用されていることはできますか?私は、環境変数GOOGLE_APPLICATION_CREDENTIALSを設定し、上記と同じスタイルでJDBC文字列を提供する、例えば、しようとしたが、無駄にしています。

理想的には、私は、インスタンスID、プロジェクト名、データベース名、サービスアカウントのメール、およびP12ファイルの組み合わせを使用したいが、他の認証オプションを開いています。

EDIT:GOOGLE_APPLICATION_CREDENTIALS戦略をしようとすると、私は場合には、それは任意のヘルプhttps://gist.github.com/aryeh-looker/e6b1b1617d301f0a247463216c96535d

答えて

2

ダブルチェック私の仕事であるかもしれない、このログファイルを生成し、そして私は午前ことができ、実際に接続するために同じように見えます上記のような接続文字列を使用し、環境変数GOOGLE_APPLICATION_CREDENTIALSを設定してください。他のオプションがあるのが理想的でしょうし、ドキュメントはまだ少しばかになっています(環境変数の言及なし)ので、より多くの情報が理想的かもしれません。

これは半可能な解決策です。同じプロセスで異なるサービスアカウントを使用して複数の接続を確立することはできません。


編集2:これは機能していないようです。 JSONファイルを指すときにインスタンスが指定されていないというエラーが表示されます。

EDITは:スパナドライバの最新のリリースと同じように見えますが、これを行う方法があります。

ドライバの最新リリース(1.0.4.1005)は、GOOGLE_APPLICATION_CREDENTIALS変数を設定する必要がなく、オプションのJDBCパラメータPvtKeyPathをサポートしているように見えます。見る価値がある。付属のPDFドキュメントから

PvtKeyPath

ですから、のようなURLになります:Googleが提供するJDBCドライバが厳しく制限されていたようjdbc:cloudspanner://;Project=...;PvtKeyPath=/path/to/credentials.json

0

は(DMLおよびDDL statemetnsをサポートしていません。 )、私は自分のJDBCドライバを書いています。このドライバは、JPA/Hibernate対応アプリケーションで動作するように設計されています。ドライバは次の場所にあります:https://github.com/olavloite/spanner-jdbc

このドライバは、PvtKeyPathプロパティを含むGoogleと同じ種類のURLをサポートしています。それはまだベータですが、私はすでに自分のアプリケーションの1つとして使っています。