1
現在ノード上にバケット内のファイルの作成、削除、コピーが可能なアプリケーションを作成しています。作成と削除の機能は魅力的ですが、問題は 'copyObject'機能(http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#copyObject-property)です。 「アクセスが拒否されました」というエラーが返されます。ノードSDKを使用してAWS上のファイルをコピーするときに「アクセスが拒否されました」
私はいくつかの調査を行い、異なるバケットポリシーを試しましたが、何も動作していないようです。 (bucketnameは私のバケットの名前です)
が{
"Version": "2008-10-17",
"Id": "Policy1458587151478",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bucketname/*"
},
{
"Sid": "AllowPublicList",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::bucketname"
}
]
}
私は、ファイルをコピーするために使用するコードは次のとおりです:
copyJson:function(creativeData, callback){
var s3 = new AWS.S3({params: {Bucket: 'bucketname'}});
var params = {
CopySource: 'json_files/' + creativeData.user_id + '/'+creativeData.old_id + '.json',
Key: 'json_files/' + creativeData.user_id + '/' + creativeData.new_id + '.json',
ACL: 'bucket-owner-full-control'
};
s3.copyObject(params, function(err, data) {
if (err) callback(err, null);
else callback(null, data);
});
}
エラーこれは私が現在使用している政策でありますis:
{
"message": "Access Denied",
"code": "AccessDenied",
"region": null,
"time": "2016-03-22T09:02:25.761Z",
"requestId": "45EE85638A6099DD",
"extendedRequestId": "ag6GzYUc5gyZ1AuNQXpcLEgMI/ry814fS5oG66JwU3+4EfEuwfmAY2vagXemAkAJWyMx9EgvQ/8=",
"statusCode": 403,
"retryable": false,
"retryDelay": 3.5066229524090886
}
ここに何か不足しているものがありますか?
ありがとうございます。