node.js - 与 DynamoDB 的连接在“扫描”中挂起?
问题描述
我们正在安装与 DynamoDB 的连接,它在第一次连接时挂起。我们已将其追溯到对服务的特定调用。
我们有
this.docClient = new AWS.DynamoDB.DocumentClient();
后跟以下代码(位于 Promise 中):
this.docClient.scan(params, (err, data) => {
if (err) {
return reject(err);
}
for (let i = 0; i < data.Items.length; i += 1) {
data.Items[i]._id = data.Items[i].id;
}
resolve(data.Items);
});
docClient.scan
永远不会调用的回调。我已经追踪到内部并到达node_modules/aws-sdk/lib/request.js
send: function send(callback) {
if (callback) {
// append to user agent
this.httpRequest.appendToUserAgent('callback');
this.on('complete', function (resp) {
callback.call(resp, resp.error, resp.data);
});
}
this.runTo();
return this.response;
},
我想这个电话永远不会回来。
据我所知,我们已经正确设置了所有令牌——我们应该如何继续调试它并了解我们哪里出错了?感谢您提供任何线索!
解决方案
我相信答案就在~/.aws/credentials
文件中。
您从 AWS 控制面板下载的凭证是我从内部控制面板下载的,文件格式如下:
[default]
aws_access_key_id = aaaaaaaaa
aws_secret_access_key = bbbbbbbbbb
AWS_SESSION_TOKEN = ccccccccccccc
我注意到这AWS_SESSION_TOKEN
是不同的,即大写,所以我将其更改为小写并且它起作用了。因此,仪表板生成凭据文件似乎存在问题。
[default]
aws_access_key_id = aaaaaaaaa
aws_secret_access_key = bbbbbbbbbb
aws_session_token = ccccccccccccc
我不明白的一件事是那些~/.aws/credentials
配置错误的实例有时它不会返回错误,但根本不会返回。在我看来,这是另一个问题。
推荐阅读
- pyinstaller - 将目录和子目录添加到 auto-py-to-exe
- javascript - 在 React.useReducer 中更新状态时使用哪种方法
- python - 为什么 cv2 中的 imshow 和 imwrite 会出现此错误?
- babeljs - 导入“@solana/web3.js”时,“import”和“export”可能只出现在“sourceType:模块”中
- html - space-between 没有提供预期的差距?
- ios - 我可以给 UIButton 设置一个带字母的标签吗?
- python - 获取每个坐标的对角线长度的更有效方法
- python - 烧瓶 - 显示视频
- spring-kafka - @KafkaListener 带有 topicPattern 和消费者组名称,基于分配的主题
- react-native - useEffect 清理不适用于 React Native 中的 iOS 应用程序终止