在我的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);
我究竟做错了什么?
您必须在AWS SDK中提供accessKeyId
和secretAccessKey
。
我已经使用了下一个代码,它对我有用,你可以尝试一下:
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);
});