Tous les produits
Search
Centre de documentation

:Accéder à LindormTable avec un SDK HBase non Java

Dernière mise à jour :Aug 11, 2026

Le moteur de colonnes larges Lindorm prend en charge l'accès via des API HBase non Java, telles que C++, Python et Go. Cette rubrique explique comment installer le SDK et réaliser les opérations d'accès.

Contexte

Le moteur de tables larges Lindorm permet l'accès depuis des langages non Java (tels que C++, Python et Go) via Thrift.

Le moteur de tables larges de Lindorm utilise la définition d'interface HBase Thrift2. Vous devez donc télécharger le fichier de définition HBase Thrift2 pour générer les interfaces spécifiques au langage. Par rapport à la définition HBase Thrift1, la définition d'interface HBase Thrift2 dans Lindorm est plus claire et offre une expérience d'appel d'API similaire à celle de Java. Le fichier de définition HBase Thrift2 propose actuellement des fonctionnalités plus complètes et est plus simple à utiliser que le fichier de définition HBase Thrift1.

Prérequis

  • Téléchargez le package d'installation Thrift.

  • Téléchargez le fichier de définition HBase Thrift2.

  • Récupérez l'endpoint pour Access by using a non-Java ApsaraDB for HBase API. Pour plus d'informations, consultez la rubrique Afficher les endpoints. Sur la page Database connection de votre instance Lindorm, sélectionnez l'onglet LindormTable, développez la section ApsaraDB for HBase-compatible endpoints, puis copiez l'endpoint HTTP dans la section Access by using a non-Java ApsaraDB for HBase API pour le VPC ou le réseau public. Le port est 9190.

Accéder à LindormTable (exemple Python)

Pour savoir comment utiliser le package d'installation Thrift, consultez la documentation officielle Apache Thrift. Les étapes suivantes décrivent comment utiliser Thrift pour accéder à LindormTable :

  1. Utilisez le fichier de définition HBase Thrift2 pour générer les fichiers d'interface pour votre langage cible. Exécutez la commande suivante :

    thrift --gen <language> hbase.thrift
    Remarque

    Le paramètre language spécifie l'indicateur de générateur pour votre langage cible, par exemple py pour Python, php ou cpp. Pour obtenir la liste complète des langages pris en charge et leurs indicateurs de générateur correspondants, consultez la documentation officielle Apache Thrift.

    Par exemple, pour générer les fichiers d'interface Python, définissez le paramètre language sur py et exécutez la commande suivante :

    thrift --gen py hbase.thrift
  2. Créez un client pour accéder au moteur de tables larges Lindorm.

    Le serveur Thrift dans Lindorm utilise HTTP pour sa couche de transport. Par conséquent, vous devez utiliser l'implémentation de transport THttpClient lors de la création d'un client. Si la liste de contrôle d'accès (ACL) est activée pour votre instance, vous devez ajouter deux en-têtes personnalisés à l'objet THttpClient pour transmettre le nom d'utilisateur et le mot de passe. Cette étape n'est pas requise si l'ACL est désactivée. Chaque implémentation spécifique au langage de THttpClient fournit une fonction permettant de définir des en-têtes personnalisés. L'exemple Python suivant montre comment créer un client et accéder à LindormTable.

    # -*- coding: utf-8  -*-
    # The following two modules are generated by running the 'pip install thrift' command.
    from thrift.protocol import TBinaryProtocol
    from thrift.transport import THttpClient
    # The following two modules are generated by running the 'thrift --gen py hbase.thrift' command.
    from hbase import THBaseService
    from hbase.ttypes import TColumnValue, TColumn, TTableName, TTableDescriptor, TColumnFamilyDescriptor, TNamespaceDescriptor, TGet, TPut, TScan
    # Configure the endpoint for LindormTable.
    url = "http://ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com:9190"
    transport = THttpClient.THttpClient(url)
    headers = {}
    # Set the username.
    headers["ACCESSKEYID"]="testuser";
    # Set the password for the username.
    headers["ACCESSSIGNATURE"]="password"
    transport.setCustomHeaders(headers)
    protocol = TBinaryProtocol.TBinaryProtocolAccelerated(transport)
    client = THBaseService.Client(protocol)
    transport.open()
    # Close the connection after completing the operations.
    transport.close()

Exemples de code

Des exemples de code complets pour d'autres langages non Java sont disponibles aux liens GitHub suivants.