将 AWS S3 存储桶根目录内容复制到子文件夹中的同一个存储桶

你好,世界

我希望能够将同一存储桶中的文件从根目录复制到子文件夹中的子文件夹,但使用 aws-sdk 排除该子文件夹。

IE:

我想在 gulp 文件任务中使用这个 AWS-CLI 命令:

aws s3 cp s3://bucketName s3://bucketName/last_good/YYYYMMDD --recursive --exclude "last_good/*"

我使用了如何使用适用于 Node.js 的 AWS 开发工具包将 Amazon S3 中的所有对象从一个前缀复制/移动到另一个前缀中使用的复制示例

我只是不确定如何指定要排除的文件夹。在我上面的例子中,它将是last_good文件夹。

var gulp = require('gulp');
var AWS = require('aws-sdk');
var async = require('async');
var bucketName = 'bucketname';
var oldPrefix = '';
var newPrefix = 'last_good/20190817/';
var s3 = new AWS.S3({params: {Bucket: bucketName}, region: 'us-west-2'});

gulp.task('publish', function() {
     CopyToLastGood();
}

function CopyToLastGood() {
    var done = function(err, data) {
      if (err) console.log(err);
      else console.log(data);
    };

s3.listObjects({Prefix: oldPrefix}, function(err, data) {
  if (data.Contents.length) {
    async.each(data.Contents, function(file, cb) {
      var params = {
        CopySource: bucketName + '/' + file.Key,
        Key: file.Key.replace(oldPrefix, newPrefix)
      };
      s3.copyObject(params, function(copyErr, copyData){
        if (copyErr) { // an error occured
          console.log(err);
        }
        else {
          console.log('Copied: ', params.Key); //successful response
          cb();
        }
      });
    }, done);
  }
});

}

我希望 root 的内容更新last_good/20190817/但不复制last_good文件夹本身。

你好,世界

我已经使用 s3.listObjects 参数上的分隔符选项解决了我的解决方案。

IE:

s3.listObjects({Prefix: oldPrefix, Delimiter:'/'}

这仅列出根目录中的文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Android SDK在AWS S3存储桶中创建一个空文件夹?

如何使用AWS Java SDK将文件从S3存储桶从一个区域复制到另一区域?

将文件从Box文件夹复制到AWS s3存储桶

使用不同的密钥将内容从一个S3存储桶复制到另一个S3存储桶

AWS Codebuild将所有工件放入S3存储桶的根目录

使用Node将文件从一个AWS S3存储桶复制到另一个存储桶

将文件从一个存储桶复制到另一个帐户中的另一个存储桶,仍将s3文件所有者设置为源文件

Python-无法将文件上传到AWS S3存储桶中的已定义文件夹

如何利用Shell脚本和AWS CLI每天自动将文件从一个S3存储桶复制到另一个存储桶?

在aws s3中将文件夹从一个复制到另一个

使用AWS Lambda将文件从一个s3存储桶移动到AWS中的另一个存储桶

AWS CLI在s3存储桶中搜索文件并复制到其他文件夹

将S3存储桶从一个AWS账户复制到另一个AWS账户在传输过程中是否安全?

如何仅使用AWS CodeBuild服务将github代码复制到s3存储桶?

有什么方法可以将移动存储中的文件夹与AWS S3存储桶中的文件夹同步?

将文件列表从 S3 存储桶复制到 S3 存储桶

将文件从 AWS s3 (SSE) 存储桶复制到谷歌云

当我尝试将文件复制到 aws S3 存储桶时,Jenkins 作业失败

我能否将 AWS CloudFront 分配链接到 S3 存储桶,并让一个文件夹路径直接指向 EC2 实例?

如何将文件(从 aws s3 存储桶复制)附加到 Linux 中的另一个文件,

Python 中的 AWS Lambda 将新文件复制到另一个 s3 存储桶

将文件从 s3 存储桶复制到另一个 AWS 账户

AWS S3 复制 - 一个源存储桶到多个目标存储桶

Shell 脚本 - 如何将最后修改的 AWS S3 对象从一个存储桶复制到另一个存储桶?

使用 AWS Code Deploy 将子文件夹内容移动到 Amazon S3 存储桶

如何将域定向到 aws s3 存储桶上的子文件夹?

如何使用 Lambda 将文件从一个文件夹移动到同一 AWS S3 存储桶中的另一个文件夹?

我无法将主文件夹复制到 s3 存储桶

使用 AZCopy 将 AWS s3 存储桶复制到 Azure 存储时出错