NodeJS - AWS - getSignedURL返回InvalidToken错误

时间:2017-12-26 16:24:18

标签: javascript node.js amazon-web-services amazon-s3

在我的nodejs应用程序中,我正在使用AWS SDK for JavaScript,以便在s3中获取文件的预签名URL,但结果url永远不会有效。相反,我收到以下错误:

InvalidToken 提供的令牌格式错误或无效。

这是我的代码:

  var s3 = new AWS.S3({ region: env.region });

  var params = {
      Bucket: BUCKET_NAME,
      Key: FILE_NAME,
      Expires: 12000
  }

  var url = s3.getSignedUrl('getObject', params);

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您必须在AWS SDK中提供accessKeyIdsecretAccessKey
我已经使用了下一个代码,它对我有用,你可以尝试一下:

const config = {
  accessKeyId: '{yourKeyId}',
  secretAccessKey: '{yuourAccessKey}',
  region: env.region,
};
AWS.config.update(config);
const s3 = new AWS.S3();
s3.getSignedUrl('getObject', args, (err, url) => {
  console.log('Your URL:', url);
});