我的任务是将 s3 对象从一个存储桶复制到另一个存储桶。存储桶包含数百万个对象。仅当满足两个条件之一时,才应以物理方式复制对象。
目标存储桶中不存在该对象,或者;源存储桶中的对象已更改,不再与目标存储桶中的对应对象相同。
我使用的是适用于 .NET 的 AWS 开发工具包的 1.5.3 版本,无法更改版本。
AWS 命令行界面 (CLI) 具有内置的 sync
操作,如果文件不存在或已更改,该操作将复制文件。
如果要编写此同步功能自己的版本,则必须列出两个位置的对象,查找差异,然后使用 Amazon S3 copy
API 调用在存储桶之间复制文件。
使用 CLI 要简单得多!