我正在考虑将我的静态网站重新部署到亚马逊S3。我需要自动化的部署,所以我正在为这样的任务寻找一个API。我对不同的选择有点困惑。
问题:s3cmd、s3cmd库boto和AWS之间有什么区别?
发布于 2014-10-16 04:18:24
s3cmd和AWS CLI都是命令行工具。如果您想通过shell脚本(例如bash)编写部署脚本,它们非常适合。
AWS通过" S3“命令提供了简单的文件复制功能,这足以将静态网站部署到S3桶中。它也有一些小的优点,比如预装在Amazon上,如果这是你工作的地方(也是pip
)。
一个适用于将本地目录同步到S3桶的AWS命令:
$ aws s3 sync . s3://mybucket
有关此命令的完整文档:http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html
编辑:正如@simon在评论中提到的,aws s3api
命令允许您访问完整的S3 API,但是它的接口更“原始”。
s3cmd支持AWS所做的一切,并且在上面添加了一些更多的扩展功能,尽管我不确定您是否需要它来达到您的目的。您可以在这里看到它的所有命令:http://s3tools.org/usage
s3cmd的安装可能会涉及到更多的问题,因为在任何发行版的主repos中,它似乎都不是它的包。
博托是一个Python库,实际上是官方的AWS。AWS也是用Python编写的,它实际上使用了boto库(心心)的一部分。只有在用Python编写部署脚本时,它才会非常适合。还有其他流行语言(Java、PHP等)的官方SDK。你喜欢:http://aws.amazon.com/tools/吗?
访问S3的最小形式是通过AWS的REST。其他一切都是建立在它的基础上的。如果您感到冒险,下面是S3 REST文档:http://docs.aws.amazon.com/AmazonS3/latest/API/APIRest.html
https://stackoverflow.com/questions/26326408
复制相似问题