すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for OceanBase:Go クライアントを使用して OceanBase データベースに接続する

最終更新日:Jan 19, 2025

このトピックでは、プロキシモードで Go クライアントを使用して OceanBase データベースに接続する方法について説明します。

前提条件

  • GitHub Go クライアントリポジトリから最新バージョンの Go クライアントをダウンロードしていること。

  • obkv-table-client-go 依存関係をインポートしていること。ローカルの Go クライアントリポジトリで次のコマンドを実行して、最新または指定されたバージョンの obkv-table-client-go 依存関係を取得できます。

    go get github.com/oceanbase/obkv-table-client-go

接続方法

ApsaraDB for OceanBase では、プロキシモードでデータベースに接続できます。具体的には、関数を呼び出すか、TOML ファイルを使用してデータベースに接続できます。

方法 1:関数を呼び出す

Go コードで次の関数を呼び出し、以下の表の説明に基づいてパラメーターを変更します。

func NewOdpClient(
	fullUserName string,
	passWord string,
	odpIP string,
	odpRpcPort int,
	database string,
	cliConfig *config.ClientConfig) (Client, error)
  • パラメーター

    パラメーター

    説明

    fullUserName

    <アカウント名>@<テナント名>#<クラスタ名> の形式の完全なユーザー名。

    passWord

    fullUserName のアカウントのパスワード。

    odpIP

    接続先の OceanBase データベースのドメイン名。

    odpRpcPort

    OceanBase データベースのワイドテーブルエンジン(または Key-Value モード)のサービスポート。デフォルト値:3307。

    database

    データベースの名前。

    cliConfig

    クライアント構成。詳細については、「ClientConfig」をご参照ください。

方法 2:TOML ファイルを使用する

  1. テンプレートファイル configurations/obkv-table-default.toml に基づいて TOML 構成ファイルをカスタマイズします。モードをプロキシに設定し、OdpClientConfig を変更し、実際のビジネスニーズに基づいて他のパラメーターを構成します。詳細については、「ClientConfig」をご参照ください。

  2. Go コードで次の関数を呼び出し、TOML ファイルのアドレスまたは場所を入力します。

    func NewClientWithTomlConfig(configFilePath string) (Client, error)
    • パラメーター

      パラメーター

      説明

      configFilePath

      TOML ファイルのパス。デフォルトでは configurations/obkv-table-default.toml です。

    • 戻り値

      戻り値

      説明

      Client

      挿入、取得、更新などのクライアント API。詳細については、「Go クライアントでの OceanBase データベースへの接続と使用の例」をご参照ください。

      error

      エラーメッセージ。

ClientConfig

サンプルコードを以下に示します。

type ClientConfig struct {
        ConnPoolMaxConnSize int
        ConnConnectTimeOut  time.Duration
        ConnLoginTimeout    time.Duration
        OperationTimeOut    time.Duration
        LogLevel            log.Level

        TableEntryRefreshLockTimeout     time.Duration
        TableEntryRefreshTryTimes        int
        TableEntryRefreshIntervalBase    time.Duration
        TableEntryRefreshIntervalCeiling time.Duration

        MetadataRefreshInterval    time.Duration
        MetadataRefreshLockTimeout time.Duration

        RsListLocalFileLocation    string
        RsListHttpGetTimeout       time.Duration
        RsListHttpGetRetryTimes    int
        RsListHttpGetRetryInterval time.Duration

        EnableRerouting bool
}

次の表は、主要なパラメーターについて説明しています。

パラメーター

説明

ConnPoolMaxConnSize

接続プールの接続数。デフォルト値:1。

ConnConnectTimeOut

TCP 接続のタイムアウト期間。デフォルト値:1 秒。

ConnLoginTimeout

認証のタイムアウト期間。デフォルト値:1 秒。

OperationTimeOut

単一のリクエストのタイムアウト期間。デフォルト値:10 秒。

EnableRerouting

再ルーティングを有効にするかどうかを指定します。デフォルトでは無効になっています。