Todos os produtos
Search
Central de documentação

Tablestore:Criar um tunnel

Última atualização: Jul 03, 2026

Para consumir dados de uma tabela de dados em tempo real, chame a operação CreateTunnel e crie um tunnel para a tabela. É possível criar vários tunnels para uma única tabela de dados. Ao criar um tunnel, especifique o nome da tabela de dados, o nome do tunnel e o tipo de tunnel.

Pré-requisitos

  • Uma instância de TunnelClient inicializada.

  • Uma tabela de dados criada. Para mais informações, consulte Criar uma tabela de dados.

Parâmetros

Parâmetros de solicitação

Parâmetro

Descrição

TableName

Nome da tabela de dados para a qual você deseja criar um tunnel.

TunnelName

Nome do tunnel.

Type

Tipo do tunnel. Valores válidos: BaseData, Stream e BaseAndStream. O tipo BaseData indica que o tunnel consome todos os dados da tabela. O tipo Stream destina-se ao consumo de dados incrementais. Já o tipo BaseAndStream permite consumir dados diferenciais da tabela.

Se você definir este parâmetro como Stream ou BaseAndStream, o sistema tratará como incrementais os dados gravados na tabela após a criação do tunnel. Para consumir dados incrementais gerados a partir de um momento específico, configure o parâmetro startTime para esses dados.

  • Valores válidos para o parâmetro startTime: [Hora atual do sistema - Período de validade do Stream + 5 minutos, Hora atual do sistema]. Unidade: nanossegundos.

    Nota

    O período de validade do Stream corresponde à duração dos logs incrementais em milissegundos, com limite máximo de sete dias. Esse período é definido ao ativar o Stream para a tabela de dados e não pode ser modificado posteriormente.

  • Também é possível configurar o parâmetro endTime para os dados incrementais que você deseja consumir. O valor de endTime deve ser maior que o valor de startTime.

Parâmetros de resposta

Parâmetro

Descrição

TunnelId

ID do tunnel.

ResponseInfo

Outros campos retornados na resposta, incluindo o campo RequestId da solicitação. O RequestId identifica a solicitação de forma exclusiva.

Exemplos

O código de exemplo a seguir demonstra como criar um tunnel do tipo BaseAndStream:

req := &tunnel.CreateTunnelRequest{
   TableName:  "<TABLE_NAME>",
   TunnelName: "<TUNNEL_NAME>",
   Type:       tunnel.TunnelTypeBaseStream, // Create a tunnel of the BaseAndStream type. 
}
resp, err := tunnelClient.CreateTunnel(req)
if err != nil {
   log.Fatal("create tunnel failed ", err)
}
log.Println("tunnel id is", resp.TunnelId)

Perguntas frequentes

O que fazer se a mensagem de erro "OTSTrimmedDataAccess Requested stream data is already trimmed or does not exist" for retornada ao usar o Tunnel Service para consumir dados?

Referências