我正试图在代码中实现S3存储桶的备份机制。每次满足条件时,我都需要将整个目录内容上传到S3存储桶中。
我使用这个代码示例:
https://github.com/aws/aws-sdk-go/tree/c20265cfc5e05297cb245e5c7db54eed1468beb8/example/service/s3/sync
它创建目录内容的迭代器,然后使用s3manager.Upload.UploadWithIterator上传它们。
一切都正常,但我注意到它会上传所有文件并覆盖bucket上的现有文件,即使它们自上次备份以来没有修改,我只想上传每次备份之间的增量。
我知道aws-cli有命令aws s3 sync <dir> <bucket>
,它正是我所需要的,但我在aws-sdk文档中找不到任何等效的东西。
感谢您的帮助,谢谢!
aws-sdk中没有这样的功能。您可以为每个文件自己插入它,以便在上传之前检查两个对象的哈希。或者使用社区解决方案https://www.npmjs.com/package/s3-sync-client