Usa el paquete SQL de Go para conectarte a Spanner Omni

El paquete SQL de Go es una interfaz genérica alrededor de las bases de datos SQL (o similares a SQL) para el lenguaje de programación Go. El controlador de Spanner para el paquete SQL de Go te permite usar esta interfaz estándar para interactuar con tus bases de datos de Spanner.

En este documento, se describe cómo configurar el controlador del paquete SQL de Go para conectarse a Spanner Omni. El controlador funciona con Spanner Omni de la misma manera que con Spanner, y admite los dialectos de base de datos GoogleSQL y PostgreSQL.

Requisitos previos

Para usar el paquete SQL de Go para conectarte a Spanner Omni, asegúrate de cumplir con los siguientes requisitos:

  • Usa la versión 1.23.0 o una posterior del paquete SQL de Go.

  • Agrega el siguiente módulo a tu archivo go.mod para usar el controlador en tu aplicación:

    go get github.com/googleapis/go-sql-spanner
    

Establece la conexión

Ejecuta uno de los siguientes comandos para establecer una conexión con Spanner Omni:

Comunicación de texto sin formato

Para establecer un canal de comunicación de texto simple, ejecuta el siguiente comando:

db, err := sql.Open("spanner", "ENDPOINT/databases/DATABASE_ID?use_plain_text=true;is_experimental_host=true")

Conexión TLS

Para establecer una conexión TLS segura, ejecuta el siguiente comando:

db, err := sql.Open("spanner", "ENDPOINT/databases/DATABASE_ID?ca_cert_file=PATH_TO_CA_CRT;is_experimental_host=true")

Conexión mTLS

Para establecer una conexión de TLS mutuo (mTLS), ejecuta el siguiente comando:

db, err := sql.Open("spanner", "ENDPOINT/databases/DATABASE_ID?ca_cert_file=PATH_TO_CA_CRT;client_cert_file=PATH_TO_CLIENT_CRT;client_cert_key=PATH_TO_CLIENT_KEY;is_experimental_host=true")