Utilizzare la libreria client Python per connettersi a Spanner Omni

La libreria client Python per Spanner funziona con Spanner Omni allo stesso modo di Spanner. Questo documento mostra come stabilire connessioni sicure a Spanner Omni configurando la libreria client Python. Queste connessioni vengono stabilite impostando le opzioni client quando crei un client.

La libreria client Python supporta connessioni in testo non crittografato, TLS, TLS con credenziali e mTLS.

Per saperne di più, consulta la sezione Guida introduttiva a Spanner in Python nella documentazione di Spanner.

Prima di iniziare

Per utilizzare la libreria client Python con Spanner Omni, utilizza la libreria client Python versione 3.72.0 o successive.

Per installare il pacchetto Python Spanner Omni, esegui questo comando:

pip install google-cloud-spanner>=3.72.0

Configura l'oggetto Client

Quando configuri l'oggetto Client, specifica l'endpoint Spanner Omni in client_options e specifica instance_type=InstanceType.OMNI.

Gli esempi seguenti mostrano come configurare l'oggetto Client per ogni configurazione di sicurezza supportata:

Testo normale

Per stabilire una connessione di testo normale, specifica instance_type=InstanceType.OMNI e use_plain_text=True:

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,
)

Sostituisci quanto segue:

  • ENDPOINT: l'endpoint dell'istanza Spanner Omni.

TLS

Per stabilire una connessione TLS, specifica il percorso del certificato CA utilizzando ca_certificate:

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",
)

Sostituisci quanto segue:

  • ENDPOINT: l'endpoint dell'istanza Spanner Omni.

  • PATH_TO_CA_CERT: il percorso del file del certificato CA.

TLS con credenziali

Per stabilire una connessione TLS con l'autenticazione di nome utente e password, specifica i parametri username e password insieme al certificato CA:

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",
)

Sostituisci quanto segue:

  • ENDPOINT: l'endpoint dell'istanza Spanner Omni.

  • PATH_TO_CA_CERT: il percorso del file del certificato CA.

  • USERNAME: il nome utente per l'utente Spanner Omni.

  • PASSWORD: la password per il tuo utente Spanner Omni.

mTLS

Per stabilire una connessione mutual TLS (mTLS), specifica il certificato CA, il certificato client e la chiave privata del client:

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",
)

Sostituisci quanto segue:

  • ENDPOINT: l'endpoint dell'istanza Spanner Omni.

  • PATH_TO_CA_CERT: il percorso del file del certificato CA.

  • PATH_TO_CLIENT_CERT: il percorso del file del certificato client.

  • PATH_TO_CLIENT_KEY: il percorso del file della chiave privata del client.

Recuperare un database

Dopo aver configurato l'oggetto Client, puoi ottenere un database. Poiché Spanner Omni non utilizza Google Cloud ID progetto o istanza, specifica default per l'ID istanza quando crei un Instance:

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

Sostituisci quanto segue:

  • DATABASE_ID: l'ID del database Spanner Omni.