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

:Java以外の言語用のApsaraDB for HBase SDKを使用してワイドテーブルエンジンLindormTableに接続する

最終更新日:Jan 14, 2025

C++、Python、GoなどのJava以外の言語用のApsaraDB for HBase APIを使用して、ワイドテーブルエンジン LindormTable に接続できます。このトピックでは、Java以外の言語用のApsaraDB for HBase SDKをインストールして使用する方法について説明します。

背景情報

LindormTableはThriftを使用して、C++、Python、GoなどのJava以外の言語用のApsaraDB for HBase SDKを使用してLindormTableに接続できるようにします。

LindormTableは、ApsaraDB for HBaseのThrift2インターフェース定義を使用します。対応する言語のインターフェース定義言語(IDL)ファイルを生成するには、ApsaraDB for HBaseのThrift2定義ファイルをダウンロードする必要があります。 LindormTableで使用されるApsaraDB for HBaseのThrift2インターフェース定義は、ApsaraDB for HBaseのThrift1インターフェース定義よりも明確です。 JavaのAPI操作を呼び出すのと同様の方法で、Java以外の言語のAPI操作を呼び出すことができます。 ApsaraDB for HBaseのThrift2定義ファイルは、ApsaraDB for HBaseのThrift1定義ファイルよりも多くの機能と使いやすい機能を提供します。

前提条件

PythonなどのJava以外の言語用のApsaraDB for HBase SDKを使用してLindormTableに接続する

Thriftインストールパッケージを使用してThriftをインストールする方法については、Apache Thrift公式ドキュメントを参照してください。Thriftを使用してLindormTableに接続するには、次の手順を実行します。
  1. 次のステートメントを実行して、ApsaraDB for HBaseのThrift2定義ファイルを使用して、対応する言語のIDLファイルを生成します。
    thrift --gen <language> hbase.thrift
    説明 language パラメーターは、使用するプログラミング言語を指定します。このパラメーターは、python、php、cpp、pyなどの値に設定できます。
    次のコードは、ステートメントの例を示しています。
    thrift --gen python hbase.thrift
  2. LindormTableに接続するためのクライアントを作成します。
    LindormのThriftサーバーは、トランスポート層でHTTPを使用します。クライアントを作成するときは、ThriftのThttpClientが必要です。クライアントの作成方法は、言語によって異なります。アクセス制御リスト(ACL)が有効になっている場合は、認証のためにThttpClientの2つのヘッダーにユーザー名とパスワードを指定します。 ACLが無効になっている場合は、ユーザー名とパスワードは必要ありません。 Thriftでは、言語の関数を呼び出して、ThttpClientでカスタムヘッダーを指定できます。次の例では、Pythonを使用しています。次のステートメントを実行して、クライアントを作成し、LindormTableに接続できます。
     # -*- coding: utf-8  -*-
     # pip install thrift コマンドを実行して、次の 2 つのモジュールを生成できます。
     from thrift.protocol import TBinaryProtocol
     from thrift.transport import THttpClient
    
     # thrift --gen py hbase.thrift コマンドを実行して、次の 2 つのモジュールを生成できます。
     from hbase import THBaseService
     from hbase.ttypes import TColumnValue, TColumn, TTableName, TTableDescriptor, TColumnFamilyDescriptor, TNamespaceDescriptor, TGet, TPut, TScan
    
     # LindormTable のエンドポイントを指定します。
     url = "http://ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com:9190"
     transport = THttpClient.THttpClient(url)
     headers = {}
     # ユーザー名を指定します。
     headers["ACCESSKEYID"]="testuser";
     # ユーザー名に対応するパスワードを指定します。
     headers["ACCESSSIGNATURE"]="password"
     transport.setCustomHeaders(headers)
     protocol = TBinaryProtocol.TBinaryProtocolAccelerated(transport)
     client = THBaseService.Client(protocol)
     transport.open()
     # 接続を閉じます。
     transport.close()

他の言語のサンプルコード

他のJava以外の言語の完全なサンプルコードを取得するには、次のダウンロードリンクのいずれかをクリックして、GitHubから言語のサンプルコードをダウンロードしてください。