AWS S3を使用してファイルをアップロードおよびダウンロードするコードがあります(Java AWS SDKを使用)。そのためのいくつかのテストを記述できるようにしたいのですが、誰かに良いオプションがあるかどうか疑問に思いました理想的には、ローカルで実行され、高速に起動でき、システム構成を必要としない軽量のS3サーバーが必要です(テストはJenkinsで実行する必要があります)。
これまでに見てきたいくつかのオプション:
minio サーバーをラップトップ/システムにインストールしてみてください。そのオープンソースと単一の静的バイナリです。サーバーはS3互換です。次に、すべての操作に対して minio-Javaクライアントライブラリ を試すことができます。以下は基本的な 操作の例 です。
Minioサーバーのインストール[GNU/Linux]
$ wget https://dl.minio.io/server/minio/release/linux-AMD64/minio
$ chmod 755 minio
$ ./minio --help
それが免責事項に役立つことを願って:私は Minio のために働きます
遅い答えは、主にDockerユーザーに役立ちます。 Riak CS と呼ばれるS3互換の優れたストレージソフトウェアがあり、サーバーをすばやく起動できる docker-riak-cs イメージがあります。
私はローカル開発と統合テストに2年近く使用しており、大きな成功を収めています。これにはいくつかの制限がありますが、大きな問題はありません。api/ compatibility documentation を参照してください。
Dockerなしのソリューションが必要な場合は、ビルドごとにローカルにセットアップできます。すべてのセットアップスクリプトと構成スクリプトは、 docker-riak-cs リポジトリで入手できます。
テスト用に作成されたオープンソースのローカルAWSクラウドスタックである localstack を試すことができます。 S3を含むいくつかのAWSサービスの実装を提供します。
GitHubで非常に人気のあるオープンソースプロジェクトのようです。
LadonのS3サーバーAPIプロジェクトを開始しました。これには、単純なファイルシステムリポジトリが含まれています。そのa Javaプロジェクトであり、簡単なテスト用のSpring Boot Starterが含まれています。すべてのS3 API機能がまだサポートされているわけではありませんが、リクエストに応じて追加します。そのGithubにあります。 Ladon S3 Server
findify/s3mock -インプロセス、Javaテストを目的としたS3サーバー。テストしませんでした-ただつまずいただけです。Dockerは必要ありません。 HTH!:)