我看不到签名请求部分。确保为put对象获取签名的URL。
它是我脚本中的工作代码:
s3.getSignedUrl('putObject', params, function(err, urlsign) {
if (err) console.log(err);
var output = {
url: urlsign
};
cb(null, output);
});
尝试通过如下简单的put请求将对象放入bucket:
var req = http.request({
hostname: 's3.amazonaws.com',
port: 80,
path:{YOURPRESIGNEDURL}.replace('https://s3.amazonaws.com', ''),
method: 'PUT',
}, function(res) {
最后,确保以下事项:
单用户策略和密钥的右IAM您应该有权放置这样的对象:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt14546345345",
"Effect": "Allow",
"Action": [
"s3:Put*"
],
"Resource": [
"arn:aws:s3:::myBucket/*"
]
}
]
}
2-我想你应该通过-x的卷发请求。