La biblioteca cliente de Python para Spanner funciona con Spanner Omni de la misma manera que con Spanner. En este documento, se muestra cómo establecer conexiones seguras con Spanner Omni configurando la biblioteca cliente de Python. Estas conexiones se establecen configurando las opciones del cliente cuando creas uno.
La biblioteca cliente de Python admite conexiones de texto sin formato, TLS, TLS con credenciales y mTLS.
Para obtener más información, consulta Comienza a usar Spanner en Python en la documentación de Spanner.
Antes de comenzar
Para usar la biblioteca cliente de Python con Spanner Omni, usa la versión 3.72.0 o posterior de la biblioteca cliente de Python.
Para instalar el paquete de Python de Spanner Omni, ejecuta el siguiente comando:
pip install google-cloud-spanner>=3.72.0
Configura el objeto Client
Cuando configures el objeto Client, especifica el endpoint de Spanner Omni en client_options y instance_type=InstanceType.OMNI.
En los siguientes ejemplos, se muestra cómo configurar el objeto Client para cada configuración de seguridad compatible:
Texto sin formato
Para establecer una conexión de texto sin formato, especifica instance_type=InstanceType.OMNI y 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,
)
Reemplaza lo siguiente:
ENDPOINT: Es el extremo de tu instancia de Spanner Omni.
TLS
Para establecer una conexión TLS, especifica la ruta de acceso a tu certificado de la AC con 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",
)
Reemplaza lo siguiente:
ENDPOINT: Es el extremo de tu instancia de Spanner Omni.PATH_TO_CA_CERT: Es la ruta de acceso al archivo del certificado de la AC.
TLS con credenciales
Para establecer una conexión TLS con autenticación de nombre de usuario y contraseña, especifica los parámetros username y password junto con el certificado de la AC:
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",
)
Reemplaza lo siguiente:
ENDPOINT: Es el extremo de tu instancia de Spanner Omni.PATH_TO_CA_CERT: Es la ruta de acceso al archivo del certificado de la AC.USERNAME: Es el nombre de usuario de tu usuario de Spanner Omni.PASSWORD: La contraseña de tu usuario de Spanner Omni.
mTLS
Para establecer una conexión de TLS mutua (mTLS), especifica el certificado de la AC, el certificado de cliente y la clave privada del 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",
)
Reemplaza lo siguiente:
ENDPOINT: Es el extremo de tu instancia de Spanner Omni.PATH_TO_CA_CERT: Es la ruta de acceso al archivo del certificado de la AC.PATH_TO_CLIENT_CERT: Es la ruta de acceso al archivo del certificado del cliente.PATH_TO_CLIENT_KEY: Es la ruta de acceso al archivo de clave privada del cliente.
Obtén una base de datos
Después de configurar el objeto Client, puedes obtener una base de datos. Como Spanner Omni no usa IDs de proyectos ni de instancias de Google Cloud , especifica default para el ID de la instancia cuando crees un Instance:
instance = spanner_client.instance("default")
database = instance.database("DATABASE_ID")
Reemplaza lo siguiente:
DATABASE_ID: Es el ID de tu base de datos de Spanner Omni.