Todos os produtos
Search
Central de documentação

ApsaraDB for HBase:Acesso à API em múltiplas linguagens

Última atualização: Jun 27, 2026

Use o Thrift para se conectar a clusters do ApsaraDB for HBase Performance-enhanced Edition com Python, Go, C++, Node.js ou PHP.

Pré-requisitos

Antes de começar, verifique se você tem:

Como funciona

O ApsaraDB for HBase Performance-enhanced Edition usa HTTP na camada de transporte do Thrift. Todos os clientes devem usar THttpClient (não o transporte padrão via socket) para se conectar. No Thrift 2, especifique o nome de usuário e a senha como cabeçalhos HTTP personalizados na instância THttpClient.

Thrift 1 vs. Thrift 2

Recurso

Thrift 1

Thrift 2

Autenticação

Não suportada

Obrigatória (nome de usuário + senha)

Máximo de conexões por nó principal

1.000

Transporte

THttpClient

THttpClient (apenas HTTP)

Use o Thrift 2 para novas integrações. O Thrift 1 não oferece suporte a autenticação e é inadequado para clusters com ACL ativado.

Configurar o Thrift

Instale o compilador Thrift

A maioria das linguagens permite instalar a biblioteca Thrift diretamente pelo gerenciador de pacotes. Baixe o compilador apenas se precisar regenerar os arquivos de definição de interface a partir do Hbase.thrift.

Gerenciador de pacotes (recomendado):

Linguagem

Comando

Python

pip install thrift

Go

import "github.com/apache/thrift/lib/go/thrift" no seu módulo Go

Instalação manual do compilador: Baixe o arquivo thrift-0.12.0.tar.gz e siga o guia de instalação do Thrift.

Gerar o arquivo de definição de interface

  1. Baixe o arquivo de definição Thrift 2 para ApsaraDB for HBase.

  2. Extraia o pacote do compilador Thrift e execute o comando abaixo no diretório extraído para gerar as bindings específicas da linguagem:

    thrift --gen <language> Hbase.thrift

    Exemplos:

    thrift --gen py Hbase.thrift
    thrift --gen cpp Hbase.thrift
    thrift --gen php Hbase.thrift

Inicializar um cliente

O exemplo a seguir usa Python. Aplique o mesmo padrão para outras linguagens: crie uma instância de THttpClient, adicione os cabeçalhos de autenticação, envolva-a em TBinaryProtocol e passe o protocolo para o THBaseService.Client.

# -*- coding: utf-8 -*-
# Install the Thrift library: pip install thrift
from thrift.protocol import TBinaryProtocol
from thrift.transport import THttpClient

# Generated by: thrift --gen py Hbase.thrift
from hbase import THBaseService
from hbase.ttypes import (
    TColumnValue, TColumn, TTableName, TTableDescriptor,
    TColumnFamilyDescriptor, TNamespaceDescriptor,
    TGet, TPut, TScan
)

# Replace <host> with your cluster endpoint.
url = "http://<host>:9190"

# THttpClient is required — the HBase Thrift server uses HTTP transport,
# not the standard socket transport.
transport = THttpClient.THttpClient(url)

# Pass credentials as custom HTTP headers. Thrift 2 requires the username and password.
headers = {
    "ACCESSKEYID": "<your-username>",       # Cluster username
    "ACCESSSIGNATURE": "<your-password>",   # Cluster password
}
transport.setCustomHeaders(headers)

# TBinaryProtocolAccelerated uses a C extension for faster serialization
# when available, and falls back to the pure-Python implementation.
protocol = TBinaryProtocol.TBinaryProtocolAccelerated(transport)

# Create the HBase client using the configured protocol.
client = THBaseService.Client(protocol)

# Open the connection before making any calls.
transport.open()

# Your HBase operations go here.

# Close the transport when done to release the connection.
transport.close()

Marcadores de posição:

Marcador

Descrição

<host>

Endpoint do seu cluster (sem o prefixo http://)

<your-username>

Nome de usuário do cluster

<your-password>

Senha do cluster

Nota

O Thrift 1 não suporta autenticação. Use o Thrift 2 (conforme demonstrado acima) quando seu cluster exigir credenciais.

Código de exemplo

Exemplos completos e executáveis de clientes para cada linguagem estão disponíveis no GitHub. Cada repositório inclui os arquivos de definição do Thrift e todas as dependências específicas da linguagem.

Linguagem

Link

Python

Baixe código de exemplo

Go

Baixe código de exemplo

C++

Baixe código de exemplo

Node.js

Baixe código de exemplo

PHP

Baixe código de exemplo

Próximos passos