Tous les produits
Search
Centre de documentation

Tablestore:Create a data table

Dernière mise à jour :Aug 18, 2026

Cette rubrique explique comment créer une table de données dans Tablestore à l'aide du SDK Node.js.

Remarques sur l'utilisation

Après la création d'une table de données, attendez qu'elle soit chargée avant d'effectuer des opérations sur les données, faute de quoi elles échoueront. Ce processus prend généralement quelques secondes.

Prérequis

Initialiser un client Tablestore

Description de la méthode

 createTable: function createTable(params, callback)

Description du paramètre params

  • tableMeta (obligatoire) object : Informations de schéma de la table, incluant les paramètres suivants.

    Nom

    Type

    Description

    tableName (obligatoire)

    string

    Nom de la table de données.

    primaryKey (obligatoire)

    Array

    Informations relatives à la clé primaire.

    • Vous pouvez définir de 1 à 4 colonnes de clé primaire, triées par ordre croissant par défaut. La première colonne de clé primaire sert de clé de partition.

    • Les types de données de clé primaire incluent STRING, INTEGER et BINARY. Les colonnes de clé primaire de type entier qui ne sont pas des clés de partition peuvent être définies comme des colonnes de clé primaire à incrémentation automatique.

    definedColumn (facultatif)

    Array

    Informations relatives aux colonnes prédéfinies.

    • Les colonnes prédéfinies sont des colonnes d'attribut prédéfinies. Elles permettent de créer des index secondaires et des index de recherche.

    • Les types de données des colonnes prédéfinies incluent STRING, INTEGER, DOUBLE et BOOLEAN.

  • tableOptions (obligatoire) object : Informations de configuration de la table, incluant les paramètres suivants.

    Nom

    Type

    Description

    timeToLive (obligatoire)

    number

    Durée de vie (TTL) des données dans la table de données. Unité : secondes.

    • Si la valeur est -1, les données n'expirent jamais. Sinon, la valeur minimale est 86400 (1 jour). Les données dont la durée de vie dépasse la TTL sont automatiquement supprimées.

    • Pour utiliser des index de recherche ou des index secondaires, vous devez définir ce paramètre sur -1 ou le paramètre allowUpdate sur false.

    maxVersions (obligatoire)

    number

    Nombre maximal de versions.

    • Pour utiliser des index de recherche ou des index secondaires, le nombre maximal de versions doit être 1.

    maxTimeDeviation (facultatif)

    number

    Écart maximal de version, en secondes. La valeur par défaut est 86400 (1 jour).

    • La différence entre l'horodatage des données écrites et l'heure système actuelle doit se situer dans la plage d'écart maximal de version, faute de quoi l'écriture échouera.

    • La plage de versions valide pour les données des colonnes d'attribut est [max(data write time - maximum version drift, data write time - TTL), data write time + maximum version drift).

    allowUpdate (facultatif)

    boolean

    Indique si les mises à jour sont autorisées. La valeur par défaut est true.

    • Si la valeur est false, vous ne pouvez pas mettre à jour les données à l'aide de la méthode updateRow().

  • indexMetas (facultatif) Array : Liste des index secondaires. Chaque index inclut les paramètres suivants.

    Nom

    Type

    Description

    name (obligatoire)

    String

    Nom de l'index.

    primaryKey (obligatoire)

    Array

    Colonnes de clé primaire de l'index.

    • Les colonnes de clé primaire d'un index combinent les colonnes de clé primaire et les colonnes prédéfinies de la table de données.

    • Pour créer un index secondaire local, la première colonne de clé primaire de l'index doit correspondre à la première colonne de clé primaire de la table de données.

    definedColumn (facultatif)

    Array

    Colonnes prédéfinies de l'index.

    • Elles sont composées de colonnes prédéfinies de la table de données.

    indexType (facultatif)

    Number

    Type de l'index. Valeurs valides :

    • IT_GLOBAL_INDEX (par défaut) : index secondaire global.

    • IT_LOCAL_INDEX : index secondaire local.

    indexUpdateMode (facultatif)

    Number

    Mode de mise à jour de l'index. Valeurs valides :

    • IUM_ASYNC_INDEX (par défaut) : mise à jour asynchrone. Le mode de mise à jour d'un index secondaire global doit être asynchrone.

    • IUM_SYNC_INDEX : mise à jour synchrone. Le mode de mise à jour d'un index secondaire local doit être synchrone.

  • streamSpecification (facultatif) object : Informations de configuration Stream, incluant les paramètres suivants.

    Nom

    Type

    Description

    enableStream (facultatif)

    Boolean

    Indique si Stream est activé. La valeur par défaut est false.

    expirationTime (facultatif)

    Number

    Délai d'expiration du Stream, qui indique la période de conservation des journaux incrémentiels. Unité : heures. Valeur maximale : 168 (7 jours).

    • Si enableStream est true, expirationTime doit être défini.

  • reservedThroughput (obligatoire) object : Débit réservé en lecture et écriture, en CU. Seules les instances haute performance en mode CU acceptent des valeurs non nulles effectives.

Exemple de code

Créer une table de données

L'exemple de code suivant crée une table test_table contenant une colonne de clé primaire de type 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);
});

Créer une table de données avec des index secondaires

L'exemple de code suivant crée une table de données et configure des index secondaires.

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

Références