Das Go SQL-Paket ist eine generische Schnittstelle für SQL- (oder SQL-ähnliche) Datenbanken für die Programmiersprache Go. Mit dem Spanner-Treiber für das Go SQL-Paket können Sie diese Standardschnittstelle verwenden, um mit Ihren Spanner-Datenbanken zu interagieren.
In diesem Dokument wird beschrieben, wie Sie den Go SQL-Pakettreiber für die Verbindung zu Spanner Omni konfigurieren. Der Treiber funktioniert mit Spanner Omni genauso wie mit Spanner und unterstützt sowohl GoogleSQL- als auch PostgreSQL-Datenbankdialekte.
Vorbereitung
Wenn Sie das Go SQL-Paket verwenden möchten, um eine Verbindung zu Spanner Omni herzustellen, müssen die folgenden Voraussetzungen erfüllt sein:
Verwenden Sie Version 1.23.0 oder höher des Go SQL-Pakets.
Fügen Sie Ihrer
go.mod-Datei das folgende Modul hinzu, um den Treiber in Ihrer Anwendung zu verwenden:go get github.com/googleapis/go-sql-spanner
Verbindung herstellen
Führen Sie einen der folgenden Befehle aus, um eine Verbindung zu Spanner Omni herzustellen:
Kommunikation im Klartext
Führen Sie den folgenden Befehl aus, um einen Kommunikationskanal im Klartext einzurichten:
db, err := sql.Open("spanner", "ENDPOINT/databases/DATABASE_ID?use_plain_text=true;is_experimental_host=true")
TLS-Verbindung
Führen Sie den folgenden Befehl aus, um eine sichere TLS-Verbindung herzustellen:
db, err := sql.Open("spanner", "ENDPOINT/databases/DATABASE_ID?ca_cert_file=PATH_TO_CA_CRT;is_experimental_host=true")
mTLS-Verbindung
Führen Sie den folgenden Befehl aus, um eine gegenseitige TLS-Verbindung (mTLS) herzustellen:
db, err := sql.Open("spanner", "ENDPOINT/databases/DATABASE_ID?ca_cert_file=PATH_TO_CA_CRT;client_cert_file=PATH_TO_CLIENT_CRT;client_cert_key=PATH_TO_CLIENT_KEY;is_experimental_host=true")