Usar a biblioteca de cliente Python para se conectar ao Spanner Omni

A biblioteca de cliente do Python para Spanner funciona com o Spanner Omni da mesma forma que com o Spanner. Neste documento, mostramos como estabelecer conexões seguras com o Spanner Omni configurando a biblioteca de cliente Python. Para estabelecer essas conexões, defina as opções do cliente ao criar um cliente.

A biblioteca de cliente Python é compatível com texto simples, TLS, TLS com credenciais e conexões mTLS.

Para mais informações, consulte Começar a usar o Spanner em Python na documentação do Spanner.

Antes de começar

Para usar a biblioteca de cliente Python com o Spanner Omni, use a versão 3.72.0 ou mais recente da biblioteca de cliente Python.

Para instalar o pacote Python do Spanner Omni, execute o seguinte comando:

pip install google-cloud-spanner>=3.72.0

Configurar o objeto Client

Ao configurar o objeto Client, especifique o endpoint do Spanner Omni em client_options e especifique instance_type=InstanceType.OMNI.

Os exemplos a seguir mostram como configurar o objeto Client para cada configuração de segurança compatível:

Texto simples

Para estabelecer uma conexão de texto simples, especifique 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,
)

Substitua:

  • ENDPOINT: o endpoint da instância do Spanner Omni.

TLS

Para estabelecer uma conexão TLS, especifique o caminho para o certificado de CA usando 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",
)

Substitua:

  • ENDPOINT: o endpoint da instância do Spanner Omni.

  • PATH_TO_CA_CERT: o caminho para o arquivo de certificado de CA.

TLS com credenciais

Para estabelecer uma conexão TLS com autenticação de nome de usuário e senha, especifique os parâmetros username e password junto com o certificado de 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",
)

Substitua:

  • ENDPOINT: o endpoint da instância do Spanner Omni.

  • PATH_TO_CA_CERT: o caminho para o arquivo de certificado de CA.

  • USERNAME: o nome de usuário do seu usuário do Spanner Omni.

  • PASSWORD: a senha do seu usuário do Spanner Omni.

mTLS

Para estabelecer uma conexão TLS mútua (mTLS), especifique o certificado de CA, o certificado do cliente e a chave privada do cliente:

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

Substitua:

  • ENDPOINT: o endpoint da instância do Spanner Omni.

  • PATH_TO_CA_CERT: o caminho para o arquivo de certificado de CA.

  • PATH_TO_CLIENT_CERT: o caminho para o arquivo de certificado do cliente.

  • PATH_TO_CLIENT_KEY: o caminho para o arquivo de chave privada do cliente.

Receber um banco de dados

Depois de configurar o objeto Client, você pode receber um banco de dados. Como o Spanner Omni não usa IDs de projeto ou instância do Google Cloud , especifique default para o ID da instância ao criar um Instance:

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

Substitua:

  • DATABASE_ID: o ID do banco de dados do Spanner Omni.