何时使用 s3cmd 而不是以编程方式访问 S3 API?

Posted

技术标签:

【中文标题】何时使用 s3cmd 而不是以编程方式访问 S3 API?【英文标题】:When to use s3cmd over accessing the S3 API programmatically? 【发布时间】:2019-05-31 08:22:55 【问题描述】:

我一直难以理解何时使用 s3cmd 程序而不是使用 Java API。供应商有关于使用 s3cmd 访问 S3 的文档。我不清楚,因为存储桶名称似乎是动态的。未指定区域。此外,我正在通过一个端点伸出援手。我尝试编写一些 Java 代码以与 s3cmd 相同的方式与 S3 交互,但我无法连接。总的来说,它似乎有点不同。

对我来说,s3cmd 似乎是一个用于操作这些文件或快速获取它们的实用程序。将此实用程序集成到 Java 程序中似乎毫无意义。

任何人有任何资源或可以帮助我更好地理解这一点?

【问题讨论】:

【参考方案1】:

S3cmd (s3cmd) 是一个免费的命令行工具和客户端,用于在 Amazon S3 和其他使用 S3 协议的云存储服务提供商(例如 Google Cloud Storage 或 DreamHost DreamObjects)中上传、检索和管理数据。它最适合熟悉命令行程序的高级用户。它也是批处理脚本和自动备份到 S3、从 cron 等触发的理想选择。

S3cmd 是用 Python 编写的。它是一个在 GNU Public License v2 (GPLv2) 下可用的开源项目,可免费用于商业和私人用途。您只需向亚马逊支付使用其存储空间的费用。

自 2008 年首次发布以来,S3cmd 已添加了许多功能和选项......我们最近统计了 60 多个命令行选项,包括分段上传、加密、增量备份、s3 同步、ACL 和元数据管理、S3 存储桶大小、存储桶策略等等!

【讨论】:

以上是关于何时使用 s3cmd 而不是以编程方式访问 S3 API?的主要内容,如果未能解决你的问题,请参考以下文章

使用具有以下配置的 s3cmd 时出错

s3cmd 复制删除元数据,你如何维护?

设置到期日期 S3 AWS 云前端,使用 s3cmd 更新

【ceph】s3cmd 创建bucket名称大小写问题

S3CMD 超时

s3cmd - 删除失败的分段上传占用空间并收费