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

Lindorm:Java以外の言語でApsaraDB for HBase APIを使用してアプリケーションを開発する

最終更新日:Nov 09, 2025

Lindorm では、LindormTable エンジンは C++、Python、Go などの HBase 非 Java API を介したアクセスをサポートしています。この Topic では、これらのアクセス操作について説明します。

前提条件

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

Thrift インストールパッケージの使用方法の詳細については、「Apache Thrift 公式ドキュメント」をご参照ください。次のステップでは、Thrift を使用して Lindorm ワイドテーブルエンジンにアクセスする方法について説明します。

  1. 次のステートメントを実行して、ApsaraDB for HBaseのThrift2定義ファイルを使用して、対応する言語でインターフェース定義言語(IDL)ファイルを生成します。

    thrift --gen <language> Hbase.thrift
    説明

    language パラメーターは、使用するプログラミング言語を指定します。このパラメーターは python、php、cpp、または py に設定できます。

    ステートメントの例:

    thrift --gen py 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から言語のサンプルコードをダウンロードしてください。