Library klien Java untuk Spanner berfungsi dengan Spanner Omni dengan cara yang sama seperti cara kerjanya dengan Spanner. Dokumen ini menunjukkan cara membuat koneksi yang aman ke Spanner Omni dengan mengonfigurasi library klien Java. Anda membuat koneksi ini dengan menetapkan opsi klien saat membuat klien administratif database atau klien database.
Library klien Java mendukung koneksi teks biasa, TLS, dan mTLS.
Untuk mengetahui informasi selengkapnya, lihat Mulai menggunakan Spanner di Java dalam dokumentasi Spanner.
Sebelum memulai
Untuk mulai menggunakan Spanner Omni di Java, gunakan library klien Java versi 6.115.0 atau yang lebih baru.
Jika Anda menggunakan Maven tanpa Bill of Materials (BOM), tambahkan kode berikut ke dependensi file pom.xml:
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-spanner</artifactId>
<version>6.115.0</version>
</dependency>
Mengonfigurasi objek SpannerOptions
Saat Anda mengonfigurasi objek
SpannerOptions
untuk membuat
DatabaseClient atau
DatabaseAdminClient,
tentukan endpoint Spanner Omni menggunakan setExperimentalHost().
Menggunakan komunikasi teks biasa
Untuk membuat koneksi teks biasa, tentukan endpoint Spanner Omni
dan gunakan metode usePlainText():
SpannerOptions options =
SpannerOptions.newBuilder()
.setExperimentalHost("http://ENDPOINT") // Replace with your Spanner Omni endpoint
.usePlainText()
.build();
Spanner spanner = options.getService();
Menggunakan penyiapan TLS
Saat mengonfigurasi objek SpannerOptions untuk koneksi TLS, Anda tidak
perlu menetapkan properti kredensial tambahan. Anda harus menambahkan sertifikat CA ke truststore Java.
Untuk menambahkan sertifikat CA ke truststore Java, gunakan perintah berikut:
sudo keytool -import -trustcacerts -file /.spanner/certs/ca.crt -alias spanner-ca -keystore $JAVA_HOME/lib/security/cacerts
Atau, Anda dapat meneruskan penyimpanan sertifikat CA kustom secara langsung saat menjalankan aplikasi:
java -Djavax.net.ssl.trustStore=PATH_TO_CUSTOM_CACERTS -Djavax.net.ssl.trustStorePassword=changeit app
Untuk mempertahankan kompatibilitas, bangun truststore kustom Anda di atas truststore Java dengan membuat salinan:
cp $JAVA_HOME/lib/security/cacerts /PATH_TO_CUSTOM_CACERTS
Menggunakan penyiapan mTLS
Untuk menggunakan koneksi mTLS, konversi kunci yang dibuat oleh Spanner Omni ke format yang kompatibel dengan Java menggunakan perintah berikut:
openssl pkcs8 -topk8 -in ~/.spanner/certs/client.key -out ~/.spanner/certs/java-client.key -nocrypt
Contoh berikut menunjukkan cara mengonfigurasi objek SpannerOptions untuk menggunakan
sertifikat klien:
SpannerOptions options =
SpannerOptions.newBuilder()
.setExperimentalHost("https://ENDPOINT") // Replace with your Spanner Omni endpoint
.useClientCert("PATH_TO_CLIENT_CERT","PATH_TO_CLIENT_CERT_KEY")
.build();
Spanner spanner = options.getService();
Membuat database
Selanjutnya, buat database. Tentukan project sebagai default jika
diperlukan dalam kode library. Misalnya, tentukan default saat Anda membuat
DatabaseId:
DatabaseId dbId = DatabaseId.of("default", "default", DATABASE_ID);
DatabaseClient client = spanner.getDatabaseClient(dbId);