Todos os produtos
Search
Central de documentação

Tablestore:Criar uma tabela de dados

Última atualização: Jul 03, 2026

Este tópico descreve como criar uma tabela de dados no Tablestore com o SDK para Node.js.

Observações de uso

Após criar uma tabela de dados, aguarde o carregamento completo antes de executar operações nos dados. Caso contrário, as operações falharão. Esse processo geralmente leva alguns segundos.

Pré-requisitos

Inicializar um cliente do Tablestore

Descrição do método

 createTable: function createTable(params, callback)

Descrição do parâmetro params

  • tableMeta (obrigatório) object: Informações de esquema da tabela, incluindo os seguintes parâmetros.

    Nome

    Tipo

    Descrição

    tableName (obrigatório)

    string

    Nome da tabela de dados.

    primaryKey (obrigatório)

    Array

    Informações sobre a chave primária.

    • Defina de 1 a 4 colunas de chave primária, classificadas em ordem ascendente por padrão. A primeira coluna de chave primária funciona como chave de partição.

    • Os tipos de dados de chave primária incluem STRING, INTEGER e BINARY. Configure colunas de chave primária do tipo inteiro que não são chaves de partição como colunas de chave primária com incremento automático.

    definedColumn (opcional)

    Array

    Informações sobre colunas predefinidas.

    • Colunas predefinidas são colunas de atributo definidas antecipadamente. Use-as para criar índices secundários e índices de pesquisa.

    • Os tipos de dados das colunas predefinidas incluem STRING, INTEGER, DOUBLE e BOOLEAN.

  • tableOptions (obrigatório) object: Informações de configuração da tabela, incluindo os seguintes parâmetros.

    Nome

    Tipo

    Descrição

    timeToLive (obrigatório)

    number

    Tempo de vida (TTL) dos dados na tabela. Unidade: segundos.

    • Se definido como -1, os dados nunca expiram. Caso contrário, o valor mínimo é 86400 (1 dia). O sistema remove automaticamente os dados que excederem o TTL.

    • Para usar índices de pesquisa ou secundários, defina este parâmetro como -1 ou configure allowUpdate como false.

    maxVersions (obrigatório)

    number

    Número máximo de versões.

    • Para usar índices de pesquisa ou secundários, defina o número máximo de versões como 1.

    maxTimeDeviation (opcional)

    number

    Desvio máximo de versão, em segundos. O valor padrão é 86400 (1 dia).

    • A diferença entre o timestamp dos dados gravados e a hora atual do sistema deve estar dentro do intervalo de desvio máximo de versão. Caso contrário, a operação de gravação falhará.

    • O intervalo de versões válidas para dados de colunas de atributo é [max(data write time - maximum version drift, data write time - TTL), data write time + maximum version drift).

    allowUpdate (opcional)

    boolean

    Indica se as atualizações são permitidas. O valor padrão é true.

    • Se definido como false, não é possível atualizar dados com o método updateRow().

  • indexMetas (opcional) Array: Lista de índices secundários. Cada índice inclui os seguintes parâmetros.

    Nome

    Tipo

    Descrição

    name (obrigatório)

    String

    Nome do índice.

    primaryKey (obrigatório)

    Array

    Colunas de chave primária do índice.

    • As colunas de chave primária de um índice combinam colunas de chave primária e colunas predefinidas da tabela de dados.

    • Para criar um índice secundário local, a primeira coluna de chave primária do índice deve ser igual à primeira coluna de chave primária da tabela de dados.

    definedColumn (opcional)

    Array

    Colunas predefinidas do índice.

    • Compostas pelas colunas predefinidas da tabela de dados.

    indexType (opcional)

    Number

    Tipo do índice. Valores válidos:

    • IT_GLOBAL_INDEX (padrão): índice secundário global.

    • IT_LOCAL_INDEX: índice secundário local.

    indexUpdateMode (opcional)

    Number

    Modo de atualização do índice. Valores válidos:

    • IUM_ASYNC_INDEX (padrão): atualização assíncrona. Defina o modo de atualização de um índice secundário global como assíncrono.

    • IUM_SYNC_INDEX: atualização síncrona. Defina o modo de atualização de um índice secundário local como síncrono.

  • streamSpecification (opcional) object: Informações de configuração do Stream, incluindo os seguintes parâmetros.

    Nome

    Tipo

    Descrição

    enableStream (opcional)

    Boolean

    Indica se o Stream está ativado. O valor padrão é false.

    expirationTime (opcional)

    Number

    Tempo de expiração do Stream, indicando o período de retenção dos logs incrementais. Unidade: horas. Valor máximo: 168 (7 dias).

    • Se enableStream for true, configure expirationTime.

  • reservedThroughput (obrigatório) object: O throughput reservado de leitura e gravação, em CU. Apenas instâncias de alto desempenho no modo CU aceitam valores diferentes de zero.

Código de exemplo

Criar uma tabela de dados

O código de exemplo a seguir cria uma tabela test_table com uma coluna de chave primária do tipo String.

var params = {
  // The schema information of the data table
  tableMeta: {
    tableName: 'test_table',
    // At least one primary key column is required to create a data table
    primaryKey: [
      {
        name: 'id',
        type: 'STRING'
      }
    ],
    // (Optional) Add predefined columns
    definedColumn: [
      {
        name: 'name',
        type: TableStore.DefinedColumnType.DCT_STRING
      }
    ]
  },
  // The configuration information of the data table
  tableOptions: {
    // When you create a data table, you must specify the TTL. A value of -1 indicates that data never expires
    timeToLive: -1,
    // When you create a data table, you must specify the maximum number of versions
    maxVersions: 1,
    // (Optional) Set the maximum version drift
    maxTimeDeviation: 86400,
    // (Optional) Specify whether to allow updates
    allowUpdate: true
  },
  // When you create a data table, you must set the reserved read and write throughput (only high-performance instances in CU mode support setting non-zero values for reserved read and write throughput)
  reservedThroughput: {
    capacityUnit: {
      read: 0,
      write: 0
    }
  },
  // (Optional) Configure Stream information
  streamSpecification: {
    enableStream: true,
    expirationTime: 168
  }
};

client.createTable(params, function (err, data) {
  if (err) {
    console.error('error:', err);
    return;
  }
  console.log('success:', data);
});

Criar uma tabela de dados com índices secundários

O código de exemplo abaixo cria uma tabela de dados e configura índices secundários.

var params = {
    // The schema information of the data table
    tableMeta: {
        tableName: 'test_table',
        // Primary key
        primaryKey: [
            {
                name: 'id',
                type: 'STRING'
            }
        ],
        // Predefined columns
        definedColumn: [
            {
                name: 'name',
                type: TableStore.DefinedColumnType.DCT_STRING
            }
        ]
    },
    // The configuration information of the data table
    tableOptions: {
        // TTL
        timeToLive: -1,
        // Maximum number of versions
        maxVersions: 1
    },
    // Reserved read and write throughput (only high-performance instances in CU mode support setting non-zero values for reserved read and write throughput)
    reservedThroughput: {
        capacityUnit: {
            read: 0,
            write: 0
        }
    },
    // Secondary index information
    indexMetas: [
        {
            name: 'test_table_index',
            // Index primary key
            primaryKey: ['id'],
            // Index predefined columns
            definedColumn: ['name'],
            // Index type
            indexType: TableStore.IndexType.IT_LOCAL_INDEX,
            // Index update mode
            indexUpdateMode: TableStore.IndexUpdateMode.IUM_SYNC_INDEX
        }
    ]
};

client.createTable(params, function (err, data) {
    if (err) {
        console.error('error:', err);
        return;
    }
    console.log('success:', data);
});

Referências