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.