aws-sdk:DynamoDB:获取所有表的列表

Alo*_* G. 7 amazon-web-services amazon-dynamodb aws-sdk

我在项目中将 aws-sdk 用于 nodejs,但没有找到任何方法从端点获取所有表,换句话说,我期待在 SDK 中等效于以下命令。

aws dynamodb list-tables --endpoint-url <ENDPOINT_URL>
Run Code Online (Sandbox Code Playgroud)

任何帮助深表感谢。

问候。

Jax*_*t0r 5

如果您有超过 100 个表,那么您还需要注意分页。您可以将此示例用于 Node.js:

const readAllTables = async() => {
  const AWS = require("aws-sdk");
  var dynamodb = new AWS.DynamoDB();

  var params = {};
  var tables = [];

  while(true) {
    var response = await dynamodb.listTables(params).promise();
    tables = tables.concat(response.TableNames);

    if (undefined === response.LastEvaluatedTableName) {
      break;
    } else {
      params.ExclusiveStartTableName = response.LastEvaluatedTableName;
    }
  }

  return tables;
}
Run Code Online (Sandbox Code Playgroud)


Alo*_* G. 4

谢谢朋友,我找到了解决方案

 const AWS = require("aws-sdk");
 var dynamodb = new AWS.DynamoDB();
 var param = {}
    dynamodb.listTables(param, function (err, data) {
        if (err) console.log(err, err.stack); // an error occurred
        else     console.log(data);           // successful response
      });
Run Code Online (Sandbox Code Playgroud)