このトピックでは、プロキシモードで 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」をご参照ください。
戻り値
戻り値
説明
Client
挿入、取得、更新などのクライアント API。詳細については、「Go クライアントでの OceanBase データベースへの接続と使用の例」をご参照ください。
error
エラーメッセージ。
方法 2:TOML ファイルを使用する
テンプレートファイル
configurations/obkv-table-default.toml
に基づいて TOML 構成ファイルをカスタマイズします。モードをプロキシに設定し、OdpClientConfig
を変更し、実際のビジネスニーズに基づいて他のパラメーターを構成します。詳細については、「ClientConfig」をご参照ください。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 | 再ルーティングを有効にするかどうかを指定します。デフォルトでは無効になっています。 |