NodeJS - AWS - getSignedURL返回InvalidToken错误

问题描述 投票:0回答:1

在我的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);

我究竟做错了什么?

javascript node.js amazon-web-services amazon-s3
1个回答
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);
});
© www.soinside.com 2019 - 2024. All rights reserved.