Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 为什么我能';无法从AmazonS3获取签名的Url?_Node.js_Amazon Web Services_Amazon S3 - Fatal编程技术网

Node.js 为什么我能';无法从AmazonS3获取签名的Url?

Node.js 为什么我能';无法从AmazonS3获取签名的Url?,node.js,amazon-web-services,amazon-s3,Node.js,Amazon Web Services,Amazon S3,我想使用Nodejs从亚马逊s3获取签名Url,我构建了我的bucket和IAM,但在我使用postman从我的计算机发送请求后,我总是收到一个回复,回复是: "e": { "message": "Missing credentials in config", "errno": "ETIMEDOUT", "code": "CredentialsError", "syscall": "connect", "addres

我想使用Nodejs从亚马逊s3获取签名Url,我构建了我的bucket和IAM,但在我使用postman从我的计算机发送请求后,我总是收到一个回复,回复是:

"e": {
        "message": "Missing credentials in config",
        "errno": "ETIMEDOUT",
        "code": "CredentialsError",
        "syscall": "connect",
        "address": "169.251.165.251",
        "port": 80,
        "time": "2018-08-04T17:20:32.554Z",
        "originalError": {
            "message": "Could not load credentials from any providers",
            "errno": "ETIMEDOUT",
            "code": "CredentialsError",
            "syscall": "connect",
            "address": "169.251.165.251",
            "port": 80,
            "time": "2018-08-04T17:20:32.554Z",
            "originalError": {
                "errno": "ETIMEDOUT",
                "code": "ETIMEDOUT",
                "syscall": "connect",
                "address": "169.251.165.251",
                "port": 80,
                "message": "connect ETIMEDOUT 169.251.165.251:80"
            }
        }
    } 
这是我的nodejs代码:

const s3 = new AWS.S3()
s3.config.update({
  accessKeyId:keys.accessKeyId,
  secretAcccessKey:keys.secretAcccessKey,
  region: 'us-west-2'
});
router.get('/',
passport.authenticate('jwt',{session:false}),
(req,res)=>{
  const key =`${req.user.id}/${uuid()}.jpeg`;
  s3.getSignedUrl(
    'putObject',{
       Bucket:'NameOfBucket',
       ContentType:'jpeg',
       Key:key,
       Expires:1000
    },
   (e,url)=>res.json({e}));
});

检查具有accessKeyId和SecretAccessKey的用户是否确实有权访问S3感谢您的回复,我检查用户是否有权访问该bucket。此错误不是权限问题。这表明您用于配置的值有问题。。。也许,它们实际上是空的。始终
“严格使用”