如何更改S3存储桶中的所有对象以减少冗余

时间:2016-04-04 22:20:03

标签: bash amazon-s3

我想知道是否存在铲斗宽度(不是每个物体)的方式。

谢谢!

1 个答案:

答案 0 :(得分:0)

在浏览器的javascript中我正在使用它;

var s3 = new AWS.S3({params: {Bucket: 'bucket'}});
    s3.listObjects({Prefix: ""}, function (err, data) {
        if (data.Contents.length) {
           async.each(data.Contents, function (file, cb) {
               var params = {
                       CopySource: 'bucket' + '/' + file.Key,
                       Key: file.Key,
                       StorageClass: 'REDUCED_REDUNDANCY'
                    };
              s3.copyObject(params, function (copyErr, copyData) {
                  if (copyErr) { 
                         console.log(err);
                     } else {
           console.log('Changed to REDUCED_REDUNDANCY: ',params.CopySource);
                     }
                 });
               });
           }
    });

这里获取存储桶中对象的列表,将每个对象同步复制并粘贴到同一位置,稍作更改;标准减少赤字。如果没有任何改变,您无法在同一个地方复制/粘贴,并在控制台中出现错误。