Hi,
I am working on Beam using Dataflow engine. Recently I am working on reading
spanner data from different project. Say I run my Beam dataflow job in GCP
project A, but the Spanner is in GCP project B. I searched all the documents,
but can't find any documentation about SpannerIO reading data with the custom
credential key files. Right now I am considering JdbcIO because it accepts
custom credential as parameters and spanner also have jdbc api[1].
Do I have something wrong in my description? Or am I considering the correct
approach?
String url ="jdbc:cloudspanner:/projects/my_project_id/"
+"instances/my_instance_id/"+"databases/my_database_name"+"?credentials=/home/cloudspanner-keys/my-key.json"+";autocommit=false";
try (Connection connection =DriverManager.getConnection(url)) {
try(ResultSet rs = connection.createStatement()
.executeQuery("SELECT SingerId, AlbumId, MarketingBudget FROM
Albums")) {
while(rs.next()) {
Long singerId = rs.getLong(1);
}
}
}
[1]: https://github.com/googleapis/java-spanner-jdbc
Thanks,
Sheng