0
可能ですか?画像をアップロードした後、それにはパーミッションはありません。私はそれがデータにACL: 'public-read'
を入れて動作するはずだと思った。 これは私のコードです:S3のラムダ関数内で画像をアップロードした後に画像の許可を変更する
var data = {ACL: 'public-read', Bucket: 's3.bucket', Key: 'latest.png', Body: result.Body, ContentLength: result.ContentLength};
s3.putObject(data, function(err, output_data) {
if (err) {
console.log('Error uploading data: ', err);
}
else {
console.log('succesfully uploaded the image!');
}
});
しかし、私はこのエラーを取得しています:
Error uploading data: { AccessDenied: Access Denied
at Request.extractError (/var/runtime/node_modules/aws-sdk/lib/services/s3.js:539:35)
at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:105:20)
at Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
at Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:673:14)
at Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:675:12)
at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:115:18)
message: 'Access Denied',
code: 'AccessDenied',
region: null,
time: 2017-05-17T11:16:29.747Z,
バケット自体がすべての権限を持っています。
ありがとうございますが、問題が見つかりました。私は "s3:PutObjectAcl"をポリシーに入れなければならないことを知らなかった。 – Eugen