AWS S3 同步与 JS/节点开发工具包

Posted

技术标签:

【中文标题】AWS S3 同步与 JS/节点开发工具包【英文标题】:AWS S3 Sync with JS/Node SDK 【发布时间】:2014-06-01 11:29:40 【问题描述】:

Amazon Web Services - 命令行界面 (AWS-CLI) 有一个 sync command。不幸的是,AWS CLI 的 sync 方法有点问题。我想使用 gulp 构建过程和 Amazon's javascript/node SDK 同步到 S3。

很遗憾,SDK 似乎没有同步方法,是吗?

将 Node 中的整个目录与 AWS S3 同步的最佳方式是什么?

【问题讨论】:

github.com/pgherveou/gulp-awspublish 有没有人知道为什么 aws-sdk 不提供sync 方法?这是方法列表,sync 不在其中:docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html 您可以使用高级 Amazon S3 客户端节点包,它有一个 sync 选项:npmjs.com/package/s3 【参考方案1】:

AWS CLI 现在更加稳定。所以,我的解决方案:

gulp.task("sync-buckets", done => 
    let conf = loadConf();
    exec(`aws s3 sync --acl public-read bucket/www_static/ s3://$conf.BucketName`, done);
);

【讨论】:

以上是关于AWS S3 同步与 JS/节点开发工具包的主要内容,如果未能解决你的问题,请参考以下文章

使用适用于 Node.js 的 AWS 开发工具包将二进制文件上传到 S3

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

通过 AWS 开发工具包创建签名的 S3 和 Cloudfront URL

在 ECS 中运行时,适用于 node.js 的 AWS 开发工具包未获取凭证

无法在 go 中使用 AWS 开发工具包获取 s3.Object ACL

如何使用 AWS 开发工具包从 S3 下载对象 - RESTful