Python-Clientbibliothek verwenden, um eine Verbindung zu Spanner Omni herzustellen

Die Python-Clientbibliothek für Spanner funktioniert mit Spanner Omni genauso wie mit Spanner. In diesem Dokument wird beschrieben, wie Sie sichere Verbindungen zu Spanner Omni herstellen, indem Sie die Python-Clientbibliothek konfigurieren. Sie stellen diese Verbindungen her, indem Sie beim Erstellen eines Clients Clientoptionen festlegen.

Die Python-Clientbibliothek unterstützt Nur-Text-, TLS-, TLS-mit-Anmeldedaten- und mTLS-Verbindungen.

Weitere Informationen finden Sie in der Spanner-Dokumentation unter Erste Schritte mit Spanner in Python.

Hinweis

Wenn Sie die Python-Clientbibliothek mit Spanner Omni verwenden möchten, benötigen Sie Version 3.72.0 oder höher der Python-Clientbibliothek.

Führen Sie den folgenden Befehl aus, um das Spanner Omni Python-Paket zu installieren:

pip install google-cloud-spanner>=3.72.0

Client-Objekt konfigurieren

Geben Sie beim Konfigurieren des Objekts Client den Spanner Omni-Endpunkt in client_options und instance_type=InstanceType.OMNI an.

Die folgenden Beispiele zeigen, wie das Client-Objekt für jede unterstützte Sicherheitskonfiguration konfiguriert wird:

Nur-Text

Geben Sie zum Herstellen einer Nur-Text-Verbindung instance_type=InstanceType.OMNI und use_plain_text=True an:

from google.cloud import spanner
from google.cloud.spanner_v1 import InstanceType

spanner_client = spanner.Client(
    client_options={"api_endpoint": "ENDPOINT"},
    instance_type=InstanceType.OMNI,
    use_plain_text=True,
)

Ersetzen Sie Folgendes:

  • ENDPOINT: Der Endpunkt Ihrer Spanner Omni-Instanz.

TLS

Geben Sie zum Herstellen einer TLS-Verbindung den Pfad zu Ihrem CA-Zertifikat mit ca_certificate an:

from google.cloud import spanner
from google.cloud.spanner_v1 import InstanceType

spanner_client = spanner.Client(
    client_options={"api_endpoint": "ENDPOINT"},
    instance_type=InstanceType.OMNI,
    ca_certificate="PATH_TO_CA_CERT",
)

Ersetzen Sie Folgendes:

  • ENDPOINT: Der Endpunkt Ihrer Spanner Omni-Instanz.

  • PATH_TO_CA_CERT: der Pfad zu Ihrer CA-Zertifikatsdatei.

TLS mit Anmeldedaten

Wenn Sie eine TLS-Verbindung mit Nutzername und Passwort-Authentifizierung herstellen möchten, geben Sie die Parameter username und password zusammen mit dem CA-Zertifikat an:

from google.cloud import spanner
from google.cloud.spanner_v1 import InstanceType

spanner_client = spanner.Client(
    client_options={"api_endpoint": "ENDPOINT"},
    instance_type=InstanceType.OMNI,
    ca_certificate="PATH_TO_CA_CERT",
    username="USERNAME",
    password="PASSWORD",
)

Ersetzen Sie Folgendes:

  • ENDPOINT: Der Endpunkt Ihrer Spanner Omni-Instanz.

  • PATH_TO_CA_CERT: der Pfad zu Ihrer CA-Zertifikatsdatei.

  • USERNAME: Der Nutzername für Ihren Spanner Omni-Nutzer.

  • PASSWORD: Das Passwort für Ihren Spanner Omni-Nutzer.

mTLS

Geben Sie zum Herstellen einer gegenseitigen TLS-Verbindung (mTLS) das CA-Zertifikat, das Clientzertifikat und den privaten Clientschlüssel an:

from google.cloud import spanner
from google.cloud.spanner_v1 import InstanceType

spanner_client = spanner.Client(
    client_options={"api_endpoint": "ENDPOINT"},
    instance_type=InstanceType.OMNI,
    ca_certificate="PATH_TO_CA_CERT",
    client_certificate="PATH_TO_CLIENT_CERT",
    client_key="PATH_TO_CLIENT_KEY",
)

Ersetzen Sie Folgendes:

  • ENDPOINT: Der Endpunkt Ihrer Spanner Omni-Instanz.

  • PATH_TO_CA_CERT: der Pfad zu Ihrer CA-Zertifikatsdatei.

  • PATH_TO_CLIENT_CERT: der Pfad zu Ihrer Clientzertifikatsdatei.

  • PATH_TO_CLIENT_KEY: der Pfad zu Ihrer privaten Clientschlüsseldatei.

Datenbank abrufen

Nachdem Sie das Client-Objekt konfiguriert haben, können Sie eine Datenbank abrufen. Da für Spanner Omni keine Google Cloud Projekt- oder Instanz-IDs verwendet werden, geben Sie default für die Instanz-ID an, wenn Sie eine Instance erstellen:

instance = spanner_client.instance("default")
database = instance.database("DATABASE_ID")

Ersetzen Sie Folgendes:

  • DATABASE_ID: die ID Ihrer Spanner Omni-Datenbank.