使用 Go SQL 套件連線至 Spanner Omni

Go SQL 套件是 Go 程式設計語言的 SQL (或類似 SQL) 資料庫通用介面。Go SQL 套件的 Spanner 驅動程式可讓您使用這個標準介面與 Spanner 資料庫互動。

本文說明如何設定 Go SQL 套件驅動程式,連線至 Spanner Omni。這個驅動程式與 Spanner Omni 的運作方式,與 Spanner 相同,支援 GoogleSQL 和 PostgreSQL 資料庫方言。

必要條件

如要使用 Go SQL 套件連線至 Spanner Omni,請確認您符合下列規定:

  • 使用 Go SQL 套件的1.23.0 以上版本

  • go.mod 檔案中新增下列模組,即可在應用程式中使用驅動程式:

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

建立連線

執行下列任一指令,與 Spanner Omni 建立連線:

純文字通訊

如要建立純文字通訊管道,請執行下列指令:

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

TLS 連線

如要建立安全的 TLS 連線,請執行下列指令:

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

mTLS 連線

如要建立相互 TLS (mTLS) 連線,請執行下列指令:

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