gpt4 book ai didi

node.js - DynamoDB createTable 如果不存在

转载 作者:搜寻专家 更新时间:2023-10-31 22:37:45 24 4
gpt4 key购买 nike

您好,您需要在 DynamoDB 上创建一个表。问题是,如果它存在 createTable 响应是一个错误。我该如何避免这种情况。因为我会在发生错误时发出通知,但在这种情况下,我不想这样做。

我不想比较错误代码,因为 ResourceInUseException 对它来说太模糊了。另外,我认为首先发送描述表请求并不是一个合适的解决方案。

有什么方法可以createIfNotExists吗?

最佳答案

既然你不喜欢describeTable()那我猜listTables()是您唯一的选择,例如

const tableName = // ...
const tablePromise = dynamodb.listTables({})
.promise()
.then((data) => {
const exists = data.TableNames
.filter(name => {
return name === tableName;
})
.length > 0;
if (exists) {
return Promise.resolve();
}
else {
const params = {
TableName: tableName,
// more params
};
return dynamodb.createTable(params).promise();
}
});

注意,如果你有超过 100 个表,结果将被分页,你必须重复调用 listTables(),参见 ExclusiveStartTableNameLastEvaluatedTableNameapi docs了解详情。

关于node.js - DynamoDB createTable 如果不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37330575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com