`aws s3 cp` 与 `aws s3 sync` 行为和成本

`aws s3 cp` vs `aws s3 sync` behavior and cost

我有一个静态站点,我正在将其部署到 s3,然后使用 CloudFront 分发给用户。构建站点后,我想将新构建推送到 s3。我找到了 2 种方法来做到这一点。

我计划每周部署一到两次。

我想知道这些哪个比较便宜(钱)?更清楚地说,我想知道在长期 运行?

中,哪一个会花费我更少的钱

我尝试阅读文档,但无法找出差异。请帮我解决这个问题。

需要注意的一件事是 aws s3 cp --recursiveaws s3 sync --delete 有不同的行为。

aws s3 cp 将复制所有文件,即使它们已经存在于目标区域中。如果文件已从源中删除,它也不会从目标中删除文件。

aws s3 sync 在复制文件之前查看目的地,并且只复制新的和更新的文件。 --delete 标志也会删除目标中的内容,如果它们在源中被删除的话。

sync 命令是您想要的,因为它旨在处理在复制最少数据量的同时保持两个文件夹同步。同步应该会导致更少的数据被推送到 S3 存储桶中,因此总体成本应该更低。

举一个反例,aws s3 cpsync 性能更好且成本更低的用例是,如果您只需要传输文件并且您 知道 所有文件都是目的地的新文件。这是更高性能和更低的成本,因为代码不会在开始传输之前检查目标是否存在。