Tüm Ürünler
Search
Belge Merkezi

Tablestore:Create a data table

Son Güncelleme:Oct 02, 2026

Bu konuda, Node.js SDK kullanarak Tablestore'da nasıl veri tablosu oluşturulacağı açıklanmaktadır.

Kullanım notları

Veri tablosunu oluşturduktan sonra veriler üzerinde işlem yapmadan önce tablonun yüklenmesini bekleyin. Aksi takdirde işlemler başarısız olur. Bu süreç genellikle birkaç saniye sürer.

Önkoşullar

Tablestore istemcisini başlatın

Yöntem açıklaması

 createTable: function createTable(params, callback)

params parametresi açıklaması

  • tableMeta (gerekli) object: Aşağıdaki parametreleri içeren tablo şema bilgileri.

    Ad

    Tür

    Açıklama

    tableName (gerekli)

    string

    Veri tablosunun adı.

    primaryKey (gerekli)

    Array

    Birincil anahtar bilgileri.

    • Varsayılan olarak artan sırada sıralanan 1 ila 4 birincil anahtar sütunu tanımlayabilirsiniz. İlk birincil anahtar sütunu bölümleme anahtarı olarak işlev görür.

    • Birincil anahtar veri türleri STRING, INTEGER ve BINARY'dir. Bölümleme anahtarı olmayan tamsayı türündeki birincil anahtar sütunları otomatik artan birincil anahtar sütunları olarak ayarlanabilir.

    definedColumn (isteğe bağlı)

    Array

    Önceden tanımlanmış sütun bilgileri.

    • Önceden tanımlanmış sütunlar, önceden tanımlanmış öznitelik sütunlarıdır. İkincil dizinler ve arama dizinleri oluşturmak için kullanılabilirler.

    • Önceden tanımlanmış sütun veri türleri STRING, INTEGER, DOUBLE ve BOOLEAN'dır.

  • tableOptions (gerekli) object: Aşağıdaki parametreleri içeren tablo yapılandırma bilgileri.

    Ad

    Tür

    Açıklama

    timeToLive (gerekli)

    number

    Veri tablosundaki verilerin yaşam süresi (TTL). Birim: saniye.

    • -1 olarak ayarlandığında verilerin süresi dolmaz. Diğer durumlarda minimum değer 86400 (1 gün) olmalıdır. TTL'yi aşan veriler otomatik olarak temizlenir.

    • Arama dizinlerini veya ikincil dizinleri kullanmak istiyorsanız bu parametreyi -1 olarak ayarlamalı veya allowUpdate parametresini false olarak belirtmelisiniz.

    maxVersions (gerekli)

    number

    Maksimum sürüm sayısı.

    • Arama dizinlerini veya ikincil dizinleri kullanmak istiyorsanız maksimum sürüm sayısı 1 olarak ayarlanmalıdır.

    maxTimeDeviation (isteğe bağlı)

    number

    Saniye cinsinden maksimum sürüm sapması. Varsayılan değer 86400'tür (1 gün).

    • Yazılan verinin zaman damgası ile mevcut sistem saati arasındaki fark, maksimum sürüm sapma aralığı içinde olmalıdır. Aksi takdirde veri yazma işlemi başarısız olur.

    • Öznitelik sütunu verileri için geçerli sürüm aralığı [max(veri yazma zamanı - maksimum sürüm sapması, veri yazma zamanı - TTL), veri yazma zamanı + maksimum sürüm sapması) şeklindedir.

    allowUpdate (isteğe bağlı)

    boolean

    Güncellemelere izin verilip verilmeyeceğini belirtir. Varsayılan değer true'dur.

    • false olarak ayarlandığında, updateRow() yöntemini kullanarak verileri güncelleyemezsiniz.

  • indexMetas (isteğe bağlı) Array: İkincil dizinlerin listesi. Her dizin aşağıdaki parametreleri içerir.

    Ad

    Tür

    Açıklama

    name (gerekli)

    String

    Dizin adı.

    primaryKey (gerekli)

    Array

    Dizinin birincil anahtar sütunları.

    • Bir dizinin birincil anahtar sütunları, veri tablosunun birincil anahtar sütunları ve önceden tanımlanmış sütunlarının birleşiminden oluşur.

    • Yerel ikincil dizin oluşturmak istiyorsanız dizinin ilk birincil anahtar sütunu, veri tablosunun ilk birincil anahtar sütunu olmalıdır.

    definedColumn (isteğe bağlı)

    Array

    Dizinin önceden tanımlanmış sütunları.

    • Bunlar, veri tablosundaki önceden tanımlanmış sütunlardan oluşur.

    indexType (isteğe bağlı)

    Number

    Dizin türü. Geçerli değerler:

    • IT_GLOBAL_INDEX (varsayılan): genel ikincil dizin.

    • IT_LOCAL_INDEX: yerel ikincil dizin.

    indexUpdateMode (isteğe bağlı)

    Number

    Dizinin güncelleme modu. Geçerli değerler:

    • IUM_ASYNC_INDEX (varsayılan): eşzamansız güncelleme. Genel ikincil dizinin güncelleme modu eşzamansız güncelleme olarak ayarlanmalıdır.

    • IUM_SYNC_INDEX: eşzamanlı güncelleme. Yerel ikincil dizinin güncelleme modu eşzamanlı güncelleme olarak ayarlanmalıdır.

  • streamSpecification (isteğe bağlı) object: Aşağıdaki parametreleri içeren Stream yapılandırma bilgileri.

    Ad

    Tür

    Açıklama

    enableStream (isteğe bağlı)

    Boolean

    Stream'in etkinleştirilip etkinleştirilmeyeceğini belirtir. Varsayılan değer false'tur.

    expirationTime (isteğe bağlı)

    Number

    Artımlı günlüklerin saklama süresini belirten Stream sona erme süresi. Birim: saat. Maksimum değer: 168 (7 gün).

    • enableStream true olarak ayarlandığında expirationTime belirtilmelidir.

  • reservedThroughput (gerekli) object: Ayrılmış okuma ve yazma aktarım hızı, CU cinsinden. Yalnızca CU modundaki yüksek performanslı örneklerde sıfırdan farklı ve etkili değerler ayarlanabilir.

Örnek kod

Veri tablosu oluşturma

Aşağıdaki örnek kod, String türünde tek bir birincil anahtar sütunu içeren test_table adlı bir tablo oluşturur.

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

İkincil dizinlerle veri tablosu oluşturma

Aşağıdaki örnek kod bir veri tablosu oluşturur ve ikincil dizinleri yapılandırır.

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

Başvurular