我有一些使用AWS S3上传和下载文件的代码(使用Java AWS SDK).我希望能够为它编写一些测试,我想知道是否有人有任何好的选择.理想情况下,我想要一个本地运行的轻量级S3服务器,可以快速启动并且不需要系统配置(测试需要由Jenkins运行).
到目前为止我看过的一些选项:
FakeS3 - 几乎就是我正在寻找的东西,但是,在使用Java AWS SDK时,您必须编辑/ etc/hosts文件并重新启动网络,而不是我在Jenkins中可以做的事情.此外,当尝试它时,似乎有一个错误,创建日期字段格式错误,这使我的客户端抛出异常,这并没有激发我对项目的信心.
Ceph - 实现S3 API但需要几分钟才能完成安装
小智.. 9
您可以尝试在笔记本电脑/系统上安装minio服务器,它的开源和单个静态二进制文件.服务器与S3兼容.然后您可以尝试minio-java客户端库进行所有操作,以下是基本操作示例.
安装minio服务器[GNU/Linux]
$ wget https://dl.minio.io/server/minio/release/linux-amd64/minio $ chmod 755 minio $ ./minio --help
希望它有所帮助免责声明:我为Minio工作
您可以尝试在笔记本电脑/系统上安装minio服务器,它的开源和单个静态二进制文件.服务器与S3兼容.然后您可以尝试minio-java客户端库进行所有操作,以下是基本操作示例.
安装minio服务器[GNU/Linux]
$ wget https://dl.minio.io/server/minio/release/linux-amd64/minio $ chmod 755 minio $ ./minio --help
希望它有所帮助免责声明:我为Minio工作
您可以尝试localstack,这是专为测试而设计的开源本地AWS云堆栈。它提供了几种AWS服务的实施,包括S3。
看起来这是一个相当受欢迎的项目,在GitHub上有180多个贡献者和19,000多颗星星。
迟到的答案,主要对Docker用户有用.有一个很棒的S3兼容存储软件,名为Riak CS,还有docker-riak-cs图像,可以快速启动服务器.
我已经使用它近两年进行本地开发和集成测试,取得了巨大的成功.它有一些限制,但没有任何重大的问题,请参阅api /兼容性文档.
如果您需要无Docker解决方案,可以在本地为每个构建进行设置,所有设置和配置脚本都可以在docker-riak-cs存储库中找到.