go - 在 Go 中将文件从本地文件夹移动到 s3 存储桶
问题描述
我正在尝试将本地目录中文件夹下的文件移动到 s3 存储桶。我知道aws sync s3
允许将本地文件复制到 s3 存储桶的命令。有没有办法aws sync s3
在 go 程序中执行命令?有没有其他选择,也许通过使用 aws s3 sdk 来进行?
解决方案
AWS 不sync
使用 S3 公开任何 API。我相信 AWS CLI 只是列出了源和目标(本地文件夹和 S3)中的所有文件,计算差异并上传/下载目标中缺少的所有元素。
的文档aws sync s3
也表明了这一点:
同步目录和 S3 前缀。递归地将新的和更新的文件从源目录复制到目标。如果文件夹包含一个或多个文件,则仅在目标中创建文件夹。
您将能够使用 AWS 开发工具包列出远程对象并将对象从本地上传到 S3,但您必须在自己的代码中管理本地列表和上传机制。
我没有使用 AWS SDK for go 的第一手经验,但是粗略搜索S3 服务的文档并没有产生任何类似于sync
. 我可以肯定地告诉你,Python 和 Javascript 的官方 SDK 都没有公开任何sync
方法。
推荐阅读
- react-native - React Native Elements Checkbox SetState 不是函数
- sql-server - 在 MS sql server-2008 中插入 100 万行
- google-cloud-platform - Ubuntu Compute Engine VPS 上的 Google Cloud IKEv2 VPN
- javascript - 如何在对话流中使用异步函数?
- javascript - required 属性不适用于按钮
- javascript - 如何在画布中的边界矩形底部放置一个按钮
- windows - 为什么 for 循环中的单个 % 在命令行中没有被解释为环境变量,而是在批处理文件中?
- django - Django 找不到 JS 静态脚本
- scala - Play Framework: value withPrefix 不是 api.ApiRouter 的成员
- json - 尝试从 React 前端向 Flask 后端发出 POST 请求时出现 404