Usar o pacote SQL do Go para se conectar ao Spanner Omni

O pacote Go SQL é uma interface genérica em torno de bancos de dados SQL (ou semelhantes a SQL) para a linguagem de programação Go. O driver do Spanner para o pacote Go SQL permite usar essa interface padrão para interagir com os bancos de dados do Spanner.

Este documento descreve como configurar o driver do pacote Go SQL para se conectar ao Spanner Omni. O driver funciona com o Spanner Omni da mesma forma que funciona com o Spanner, oferecendo suporte aos dialetos de banco de dados GoogleSQL e PostgreSQL.

Pré-requisitos

Para usar o pacote Go SQL para se conectar ao Spanner Omni, verifique se você atende aos seguintes requisitos:

  • Use a versão 1.23.0 ou mais recente do pacote Go SQL.

  • Adicione o seguinte módulo ao arquivo go.mod para usar o driver no aplicativo:

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

Estabelecer uma conexão

Execute um dos comandos a seguir para estabelecer uma conexão com o Spanner Omni:

Comunicação em texto simples

Para estabelecer um canal de comunicação em texto simples, execute o seguinte comando:

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

Conexão TLS

Para estabelecer uma conexão TLS segura, execute o seguinte comando:

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

Conexão mTLS

Para estabelecer uma conexão TLS mútua (mTLS), execute o seguinte 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")