我将获取一个预签名URL来上传S3 bucket中的文件。
这是curl命令:
curl -v -T ./dansero.jpg 'https://ss-files-dev.s3.ap-southeast-2.amazonaws.com/dansero.jpg\?AWSAccessKeyId\=AKIAIT6VM43PPNS43Y7Q\&Expires\=1531973770\&Signature\=hNvG5rnICkk58mMBLeMgHGDZ93c%3D'
那让我出现了错误:
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
</Error>
这里是我生成 Node.js 预签名 URL 的代码。
var AWS = require('aws-sdk');
const s3 = new AWS.S3({
accessKeyId: 'aaa',
secretAccessKey: 'bbb+oeyjn8zGANuDyCIY',
region: 'ap-southeast-2'
});
const params = {
Bucket: 'ss-files-dev',
Key: 'dansero.jpg'
};
});
s3.getSignedUrl('putObject', params, function(err, urlsign) {
if (err) console.log(err);
console.log(urlsign);
});
那么我的问题出在URL生成还是cURL呢? 谢谢。