すべてのプロダクト
Search
ドキュメントセンター

Tablestore:バッチデータの読み取り

最終更新日:Mar 12, 2026

Node.js SDK の `batchGetRow` メソッドを使用することで、1 つ以上の Tablestore テーブルから複数の行を単一のリクエストで読み取ります。

注意事項

1 回のバッチ読み取り操作で、最大 100 行のデータを読み取ることができます。

前提条件

Tablestore クライアントを初期化します。

メソッド

batchGetRow: function batchGetRow(params, callback)

`params` パラメーターの説明

  • tables (必須) (Array):このパラメーターは、バッチデータ読み取りの情報を指定します。以下のサブパラメーターが含まれます。

    名前

    説明

    tableName (必須)

    string

    データテーブルの名前。

    primaryKey (必須)

    Array

    プライマリキー列の名前と値を含むプライマリキー情報。

    • サポートされているプライマリキー列のデータの型は、STRING、INTEGER、および BINARY です。

    • プライマリキーの数と型は、データテーブルで定義されているものと一致する必要があります。

    maxVersions (オプション)

    number

    返される最大バージョン数。デフォルト値は 1 です。

    • クエリ条件を満たすデータバージョンの数がこの値を超えると、システムはバージョンタイムスタンプの降順 (最新が最初) で指定された数のバージョンを返します。

    timeRange (オプション)

    object

    返すデータバージョンの範囲。

    • Tablestore データテーブルの各属性列には複数のバージョンを含めることができます。バージョン範囲を指定すると、その範囲内のデータのみが返されます。

    columnsToGet (オプション)

    Array

    読み取る列。これらはプライマリキー列または属性列です。

    • columnsToGet が設定されていない場合、行全体が返されます。

    • columnsToGet が設定されており、指定された列のいずれも行に存在しない場合、null が返されます。

    columnFilter (オプション)

    TableStore.ColumnCondition

    フィルター条件。詳細については、「フィルター」をご参照ください。

    • columnsToGet と columnFilter の両方が設定されている場合、システムはまず columnsToGet に基づいて行をフィルターし、次に結果に columnFilter を適用します。

以下のサンプルコードは、test_table テーブルからプライマリキー値が row1 と row2 の 2 行を読み取ります。

var table = {
    // テーブル名を設定します
    tableName: 'test_table',
    primaryKey: [
        // 1 行目のプライマリキー情報を追加します
        [{ 'id': 'row1' }],
        // 2 行目のプライマリキー情報を追加します
        [{ 'id': 'row2' }]
    ]
};
var params = {
    tables: [
        table
    ]
}

// batchGetRow メソッドを呼び出して、バッチデータクエリを実行します
client.batchGetRow(params, function (err, data) {
    if (err) {
        console.log('Batch get row failed with error: ', err);
        return;
    }

    // 応答を処理します
    console.log('* RequestId: ', data.RequestId);
    console.log('* Rows Data: ');
    data.tables.forEach(function (rows) {
        rows.forEach(function (row) {
            if (row.isOk) {
                console.log('Succeeded Row:', row.tableName, JSON.stringify(row.primaryKey), JSON.stringify(row.attributes));
            } else {
                console.log('Failed Row:', row.tableName, row.errorMessage);
            }
        });
    });
});

バッチデータ読み取りのパラメーターを設定する際は、以下のサンプルコードをご参照ください。

  • 複数のテーブルからデータを読み取ります。バッチ読み取りは、単一のリクエストで複数のテーブルからデータを読み取ることをサポートしています。各テーブルのクエリ条件を指定できます。

    var table1 = {
        tableName: 'orders_small',
        primaryKey: [
            [{ 'order_id': '90fb478c-1360-11f0-a34d-00163e30a2a9' }]
        ]
    };
    
    var params = {
        tables: [
            table,
            table1
        ]
    };
  • データバージョン範囲を設定します。指定された範囲内のデータのみが返されます。

    // バージョン範囲を現在時刻から過去 24 時間に設定します
    table.timeRange = {
        startTime: (Date.now() - 86400 * 1000).toString(),
        endTime: Date.now().toString()
    }
  • 読み取る属性列を指定します。

    table.columnsToGet = ['col2']

参考文献

範囲読み取りデータ