Todos os produtos
Search
Central de documentação

Tablestore:Query time series data

Última atualização: Jun 30, 2026

Chame a operação GetTimeseriesData para consultar dados de séries temporais que atendem a condições específicas.

Pré-requisitos

Inicialize um cliente. Para mais informações, consulte Inicializar um cliente do Tablestore.

Parâmetros

A tabela a seguir descreve os parâmetros incluídos em request.

Parâmetro

Descrição

timeseriesTableName (obrigatório)

Nome da tabela de séries temporais.

timeseriesKey (obrigatório)

Identificadores da série temporal. Este parâmetro inclui os seguintes itens de configuração:

  • measurement_name (obrigatório): nome da métrica da série temporal.

  • data_source (obrigatório): informações da origem dos dados.

  • tags (obrigatório): informações de tag da série temporal, compostas por vários pares chave-valor.

beginTimeInUs (opcional)

Intervalo de tempo da consulta, em microssegundos. Valor padrão: 0.

Os parâmetros beginTimeInUs e endTimeInUs definem, respectivamente, o timestamp inicial e final. O intervalo de tempo da consulta é fechado à esquerda e aberto à direita.

endTimeInUs (opcional)

backward (opcional)

Define se os resultados da consulta devem ser ordenados em ordem cronológica inversa. Esse parâmetro permite obter os dados mais recentes de uma série temporal. Valores válidos:

  • True: ordena os resultados da consulta em ordem cronológica inversa.

  • False (padrão): não ordena os resultados da consulta em ordem cronológica inversa.

fieldsToGet (opcional)

Colunas a recuperar. Caso não especifique esse parâmetro, todas as colunas serão consultadas.

Importante

Especifique explicitamente o nome e o tipo de dados de cada coluna a recuperar com o parâmetro fieldsToGet. Se o tipo de dados não corresponder ao tipo real, a leitura dos dados da coluna falhará.

limit (opcional)

Número máximo de linhas retornadas por esta solicitação. Valor padrão: 5000. Valores válidos: (0,5000].

Nota

O parâmetro limit restringe apenas o número máximo de linhas a retornar. Mesmo que a quantidade de linhas correspondentes às condições exceda o limite, o número de linhas retornadas pode ser inferior ao valor de limit devido a outras restrições, como o volume máximo de dados para varredura. Nesse caso, use o parâmetro nextToken para obter as linhas restantes.

nextToken (opcional)

Se a consulta retornar apenas parte das linhas correspondentes às condições, a resposta conterá o parâmetro nextToken. Especifique nextToken na próxima solicitação para obter as linhas restantes.

Importante

Para persistir o nextToken ou transferi-lo à página frontend, codifique-o em uma string Base64. O nextToken não é uma string nativa. O uso direto de str(nextToken) para conversão resultará em perda de informações do token.

Exemplos

O exemplo de código a seguir demonstra como consultar dados de séries temporais que atendem a condições especificadas em uma tabela de séries temporais:

# The tag information of the time series.
tags = {"tag1": "t1", "tag2": "t2"}
# The identifiers of the time series.
key = TimeseriesKey("measure1", "datasource1", tags)

try:
    request = GetTimeseriesDataRequest("")
    # The identifiers of the time series.
    request.timeseriesKey = key
    # The end timestamp of the time range to query.
    request.endTimeInUs = int(time.time() * 1000000)
    # The maximum number of rows that can be returned by the request.
    request.limit = 20
    # The columns to retrieve. If you do not specify this parameter, all columns are returned.
    request.fieldsToGet = {"string_field": DataType.STRING, "long_field": DataType.LONG}

    # Call the operation to query time series data.
    response = ots_client.get_timeseries_data(request)
    print(response.rows)

    # If nextToken is not empty, you can initiate the next request.
    if response.nextToken is not None:
        # Obtain nextToken.
        next_token = response.nextToken

        # If you want to persist nextToken or transfer nextToken to the frontend page, you can use Base64 to encode nextToken into a string for storage and transmission.
        # The token itself is not a string. If you directly use str(nextToken) to encode the token as a string, token information will be lost.
        token_as_string = base64.b64encode(next_token).decode('utf-8')
        # Decode the string into bytes.
        next_token_byte = base64.b64decode(token_as_string.encode('utf-8'))

        # Call the operation to query time series data.
        request.nextToken = next_token
        response = ots_client.get_timeseries_data(request)
        print(response.rows)
    print("get timeseries data succeeded.")
except Exception as e:
    # If an exception is thrown, the call fails. Handle the exception.
    print("get timeseries data failed. %s" % e)