Todos los productos
Search
Centro de documentos

Tablestore:Cree una tabla de datos

Última actualización: Sep 03, 2026

Este tema describe cómo crear una tabla de datos en Tablestore mediante el SDK de Node.js.

Notas de uso

Después de crear una tabla de datos, espere a que se cargue antes de realizar operaciones sobre los datos. De lo contrario, las operaciones fallarán. Este proceso suele tardar varios segundos.

Requisitos previos

Initialize a Tablestore client

Descripción del método

 createTable: function createTable(params, callback)

Descripción del parámetro params

  • tableMeta (obligatorio) object: Información del esquema de la tabla, que incluye los siguientes parámetros.

    Nombre

    Tipo

    Descripción

    tableName (obligatorio)

    string

    Nombre de la tabla de datos.

    primaryKey (obligatorio)

    Array

    Información sobre la clave primaria.

    • Puede configurar de 1 a 4 columnas de clave primaria, las cuales se ordenan de forma ascendente de manera predeterminada. La primera columna de clave primaria funciona como clave de partición.

    • Los tipos de datos de la clave primaria incluyen STRING, INTEGER y BINARY. Las columnas de clave primaria de tipo entero que no son claves de partición se pueden configurar como auto-increment primary key columns.

    definedColumn (opcional)

    Array

    Información sobre las columnas predefinidas.

    • Las columnas predefinidas son atributos definidos con antelación. Se pueden utilizar para crear secondary indexes y search indexes.

    • Los tipos de datos de las columnas predefinidas incluyen STRING, INTEGER, DOUBLE y BOOLEAN.

  • tableOptions (obligatorio) object: Información de configuración de la tabla, que incluye los siguientes parámetros.

    Nombre

    Tipo

    Descripción

    timeToLive (obligatorio)

    number

    Tiempo de vida (TTL) de los datos en la tabla de datos. Unidad: segundos.

    • Si se establece en -1, los datos nunca caducan. De lo contrario, el valor mínimo es 86400 (1 día). Los datos que superen el TTL se purgarán automáticamente.

    • Para usar índices de búsqueda o índices secundarios, establezca este parámetro en -1 o configure el parámetro allowUpdate como false.

    maxVersions (obligatorio)

    number

    Número máximo de versiones.

    • Para usar índices de búsqueda o índices secundarios, establezca el número máximo de versiones en 1.

    maxTimeDeviation (opcional)

    number

    Desviación máxima de versión, en segundos. El valor predeterminado es 86400 (1 día).

    • La diferencia entre la marca de tiempo de los datos escritos y la hora actual del sistema debe estar dentro del rango de desviación máxima de versión. De lo contrario, la operación de escritura de datos fallará.

    • El rango de versiones válido para los datos de columnas de atributos es [max(data write time - maximum version drift, data write time - TTL), data write time + maximum version drift).

    allowUpdate (opcional)

    boolean

    Indica si se permiten actualizaciones. El valor predeterminado es true.

    • Si se establece en false, no se pueden actualizar datos mediante el método updateRow().

  • indexMetas (opcional) Array: Lista de índices secundarios. Cada índice incluye los siguientes parámetros.

    Nombre

    Tipo

    Descripción

    name (obligatorio)

    String

    Nombre del índice.

    primaryKey (obligatorio)

    Array

    Columnas de clave primaria del índice.

    • Las columnas de clave primaria de un índice son una combinación de columnas de clave primaria y columnas predefinidas de la tabla de datos.

    • Para crear un índice secundario local, la primera columna de clave primaria del índice debe ser la primera columna de clave primaria de la tabla de datos.

    definedColumn (opcional)

    Array

    Columnas predefinidas del índice.

    • Están compuestas por columnas predefinidas de la tabla de datos.

    indexType (opcional)

    Number

    Tipo de índice. Valores válidos:

    • IT_GLOBAL_INDEX (predeterminado): índice secundario global.

    • IT_LOCAL_INDEX: índice secundario local.

    indexUpdateMode (opcional)

    Number

    Modo de actualización del índice. Valores válidos:

    • IUM_ASYNC_INDEX (predeterminado): actualización asíncrona. El modo de actualización de un índice secundario global debe establecerse en actualización asíncrona.

    • IUM_SYNC_INDEX: actualización síncrona. El modo de actualización de un índice secundario local debe establecerse en actualización síncrona.

  • streamSpecification (opcional) object: Información de configuración de Stream, que incluye los siguientes parámetros.

    Nombre

    Tipo

    Descripción

    enableStream (opcional)

    Boolean

    Indica si se habilita Stream. El valor predeterminado es false.

    expirationTime (opcional)

    Number

    Tiempo de caducidad de Stream, que indica el periodo de retención de los registros incrementales. Unidad: horas. Valor máximo: 168 (7 días).

    • Cuando enableStream se establece en true, debe configurar expirationTime.

  • reservedThroughput (obligatorio) object: reserved read and write throughput, en CU. Solo las instancias de alto rendimiento en modo CU admiten valores distintos de cero efectivos.

Código de ejemplo

Crear una tabla de datos

El siguiente código de ejemplo crea una tabla test_table que contiene una columna de clave primaria de 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);
});

Crear una tabla de datos con índices secundarios

El siguiente código de ejemplo crea una tabla de datos y configura índices secundarios.

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);
});

Referencias