NodeJS 尝试使用aws-sdk连接到OVH对象存储并收到错误[TimeoutError]:套接字挂起

olhwl3o2  于 2022-11-29  发布在  Node.js
关注(0)|答案(1)|浏览(193)

bounty已结束。回答此问题可获得+100声望奖励。奖励宽限期将在21小时后结束。Meddah Abdallah希望吸引更多人关注此问题。

我使用以下代码尝试连接到OVH对象存储并检索我拥有的存储桶列表

const AWS = require('aws-sdk');

const s3 = new AWS.S3({
  accessKeyId: '930*****************************',
  secretAccessKey: 'b7c****************************',
  endPoint: 'https://storage.sbg.cloud.ovh.net',
  region: 'SBG',
});

s3.listBuckets((data) => {
  console.log('Buckets', data);
});

我收到的错误是我无法理解的

Buckets Error [TimeoutError]: socket hang up
    at connResetException (https://node-nykybd.w-credentialless.staticblitz.com/blitz.79ba5d6ed4650f43d3d2f1721ce6e5bef04fff66.js:6:8256)
    at TLSSocket.socketOnEnd (https://node-nykybd.w-credentialless.staticblitz.com/blitz.79ba5d6ed4650f43d3d2f1721ce6e5bef04fff66.js:6:1086874)
    at EventEmitter.emit (https://node-nykybd.w-credentialless.staticblitz.com/blitz.79ba5d6ed4650f43d3d2f1721ce6e5bef04fff66.js:6:155690)
    at S.emit (https://node-nykybd.w-credentialless.staticblitz.com/blitz.79ba5d6ed4650f43d3d2f1721ce6e5bef04fff66.js:6:1408650)
    at endReadableNT (https://node-nykybd.w-credentialless.staticblitz.com/blitz.79ba5d6ed4650f43d3d2f1721ce6e5bef04fff66.js:6:660227)
    at _0x1811b5 (https://node-nykybd.w-credentialless.staticblitz.com/blitz.79ba5d6ed4650f43d3d2f1721ce6e5bef04fff66.js:15:148126)
    at https://node-nykybd.w-credentialless.staticblitz.com/blitz.79ba5d6ed4650f43d3d2f1721ce6e5bef04fff66.js:15:147876 {
  code: 'TimeoutError',
  time: 2022-11-19T14:04:13.643Z,
  region: 'SBG',
  hostname: 's3.sbg.amazonaws.com',
  retryable: true
}

任何人都可以帮助调试,任何建议都是欢迎的,谢谢!

6qfn3psc

6qfn3psc1#

这里有一些东西。但是,我不知道你如何运行这个代码。
首先,如前所述,检查您是否能够从CLI检索存储桶列表。
第二-确保关闭套接字。AWS SDK对此非常敏感:)
第三- SDK有重试策略,您是否检查了maxRetries?
另外,我听说模块解析器的顺序很重要。
我不知道您使用的是什么操作系统,但如果是linux,您可以使用
ss -sss -a命令中的一个或多个。

相关问题