全部产品
Search
文档中心

Tablestore:Buat tabel data

更新时间:Jul 31, 2025

Topik ini menjelaskan cara membuat tabel data di Tablestore menggunakan Node.js SDK.

Catatan penggunaan

Setelah membuat tabel data, tunggu hingga tabel dimuat sebelum melakukan operasi pada data. Jika tidak, operasi tersebut akan gagal. Proses ini biasanya memakan waktu beberapa detik.

Prasyarat

Inisialisasi Klien Tablestore.

Deskripsi metode

 createTable: function createTable(params, callback)

Deskripsi Parameter params

  • tableMeta (wajib) objek: Informasi skema tabel, termasuk parameter berikut.

    Nama

    Tipe

    Deskripsi

    tableName (wajib)

    string

    Nama tabel data.

    primaryKey (wajib)

    Array

    Informasi tentang kunci utama.

    • Anda dapat menetapkan 1 hingga 4 kolom kunci utama, yang diurutkan secara default dalam urutan menaik. Kolom kunci utama pertama berfungsi sebagai kunci partisi.

    • Tipe data kunci utama mencakup STRING, INTEGER, dan BINARY. Kolom kunci utama bertipe integer yang bukan kunci partisi dapat diatur sebagai kolom kunci utama auto-increment.

    definedColumn (opsional)

    Array

    Informasi tentang kolom pradefinisi.

    • Kolom pradefinisi adalah kolom atribut yang telah ditentukan sebelumnya. Mereka dapat digunakan untuk membuat indeks sekunder dan indeks pencarian.

    • Tipe data kolom pradefinisi mencakup STRING, INTEGER, DOUBLE, dan BOOLEAN.

  • tableOptions (wajib) objek: Informasi konfigurasi tabel, termasuk parameter berikut.

    Nama

    Tipe

    Deskripsi

    timeToLive (wajib)

    number

    Masa hidup data (TTL) dalam tabel data. Satuan: detik.

    • Jika disetel ke -1, data tidak pernah kedaluwarsa. Jika tidak, nilai minimumnya adalah 86400 (1 hari). Data yang melebihi TTL akan otomatis dihapus.

    • Jika Anda ingin menggunakan indeks pencarian atau indeks sekunder, Anda harus menetapkan parameter ini ke -1 atau menetapkan allowUpdate ke false.

    maxVersions (wajib)

    number

    Jumlah maksimum versi.

    • Jika Anda ingin menggunakan indeks pencarian atau indeks sekunder, jumlah maksimum versi harus diatur ke 1.

    maxTimeDeviation (opsional)

    number

    Deviasi versi maksimum, dalam detik. Nilai defaultnya adalah 86400 (1 hari).

    • Selisih antara cap waktu data yang ditulis dan waktu sistem saat ini harus berada dalam rentang deviasi versi maksimum. Jika tidak, operasi penulisan data akan gagal.

    • Rentang versi valid untuk data kolom atribut adalah [max(waktu tulis data - deviasi versi maksimum, waktu tulis data - TTL), waktu tulis data + deviasi versi maksimum).

    allowUpdate (opsional)

    boolean

    Menentukan apakah pembaruan diizinkan. Nilai defaultnya adalah true.

    • Jika disetel ke false, Anda tidak dapat memperbarui data menggunakan metode updateRow().

  • indexMetas (opsional) Array: Daftar indeks sekunder. Setiap indeks mencakup parameter berikut.

    Nama

    Tipe

    Deskripsi

    name (wajib)

    String

    Nama indeks.

    primaryKey (wajib)

    Array

    Kolom kunci utama dari indeks.

    • Kolom kunci utama dari indeks merupakan kombinasi dari kolom kunci utama dan kolom pradefinisi dari tabel data.

    • Jika Anda ingin membuat indeks sekunder lokal, kolom kunci utama pertama dari indeks harus menjadi kolom kunci utama pertama dari tabel data.

    definedColumn (opsional)

    Array

    Kolom pradefinisi dari indeks.

    • Ini terdiri dari kolom pradefinisi dari tabel data.

    indexType (opsional)

    Number

    Tipe indeks. Nilai valid:

    • IT_GLOBAL_INDEX (default): indeks sekunder global.

    • IT_LOCAL_INDEX: indeks sekunder lokal.

    indexUpdateMode (opsional)

    Number

    Mode pembaruan indeks. Nilai valid:

    • IUM_ASYNC_INDEX (default): pembaruan asinkron. Mode pembaruan indeks sekunder global harus diatur ke pembaruan asinkron.

    • IUM_SYNC_INDEX: pembaruan sinkron. Mode pembaruan indeks sekunder lokal harus diatur ke pembaruan sinkron.

  • streamSpecification (opsional) objek: Informasi konfigurasi Stream, termasuk parameter berikut.

    Nama

    Tipe

    Deskripsi

    enableStream (opsional)

    Boolean

    Menentukan apakah akan mengaktifkan Stream. Nilai defaultnya adalah false.

    expirationTime (opsional)

    Number

    Waktu kedaluwarsa Stream, yang menunjukkan periode retensi log inkremental. Satuan: jam. Nilai maksimum: 168 (7 hari).

    • Ketika enableStream disetel ke true, expirationTime harus diatur.

  • reservedThroughput (wajib) objek: throughput baca dan tulis yang dipesan, dalam CU. Hanya instans kinerja tinggi dalam mode CU yang dapat diatur ke nilai non-nol yang efektif.

Kode contoh

Buat tabel data

Kode contoh berikut membuat tabel test_table yang berisi satu kolom kunci utama bertipe String.

var params = {
  // Informasi skema tabel data
  tableMeta: {
    tableName: 'test_table',
    // Setidaknya satu kolom kunci utama diperlukan untuk membuat tabel data
    primaryKey: [
      {
        name: 'id',
        type: 'STRING'
      }
    ],
    // (Opsional) Tambahkan kolom pradefinisi
    definedColumn: [
      {
        name: 'name',
        type: TableStore.DefinedColumnType.DCT_STRING
      }
    ]
  },
  // Informasi konfigurasi tabel data
  tableOptions: {
    // Saat membuat tabel data, Anda harus menentukan TTL. Nilai -1 menunjukkan bahwa data tidak pernah kedaluwarsa
    timeToLive: -1,
    // Saat membuat tabel data, Anda harus menentukan jumlah maksimum versi
    maxVersions: 1,
    // (Opsional) Tetapkan deviasi versi maksimum
    maxTimeDeviation: 86400,
    // (Opsional) Tentukan apakah pembaruan diizinkan
    allowUpdate: true
  },
  // Saat membuat tabel data, Anda harus menetapkan throughput baca dan tulis yang dipesan (hanya instans kinerja tinggi dalam mode CU yang mendukung penetapan nilai non-nol untuk throughput baca dan tulis yang dipesan)
  reservedThroughput: {
    capacityUnit: {
      read: 0,
      write: 0
    }
  },
  // (Opsional) Konfigurasikan informasi Stream
  streamSpecification: {
    enableStream: true,
    expirationTime: 168
  }
};

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

Buat tabel data dengan indeks sekunder

Kode contoh berikut membuat tabel data dan mengonfigurasi indeks sekunder.

var params = {
    // Informasi skema tabel data
    tableMeta: {
        tableName: 'test_table',
        // Kunci utama
        primaryKey: [
            {
                name: 'id',
                type: 'STRING'
            }
        ],
        // Kolom pradefinisi
        definedColumn: [
            {
                name: 'name',
                type: TableStore.DefinedColumnType.DCT_STRING
            }
        ]
    },
    // Informasi konfigurasi tabel data
    tableOptions: {
        // TTL
        timeToLive: -1,
        // Jumlah maksimum versi
        maxVersions: 1
    },
    // Throughput baca dan tulis yang dipesan (hanya instans kinerja tinggi dalam mode CU yang mendukung penetapan nilai non-nol untuk throughput baca dan tulis yang dipesan)
    reservedThroughput: {
        capacityUnit: {
            read: 0,
            write: 0
        }
    },
    // Informasi indeks sekunder
    indexMetas: [
        {
            name: 'test_table_index',
            // Kunci utama indeks
            primaryKey: ['id'],
            // Kolom pradefinisi indeks
            definedColumn: ['name'],
            // Tipe indeks
            indexType: TableStore.IndexType.IT_LOCAL_INDEX,
            // Mode pembaruan indeks
            indexUpdateMode: TableStore.IndexUpdateMode.IUM_SYNC_INDEX
        }
    ]
};

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

Referensi