如何用Java模拟AWS开发工具包SDK 2(S3)

问题描述 投票:0回答:1

所以我想模拟AWS开发工具包2.x(仅S3服务),以便在没有真正的AWS的情况下将文件上传和下载到存储桶中。我正在寻找Java实现。

[我发现了很多实现工具(Adobe S3Mock ... etc,但是他们都使用了AWS开发工具包1.x。

java amazon-s3 mocking aws-sdk stub
1个回答
0
投票

您不应该自己重新实现S3 API。而是使用现有工具之一,例如localstackMinIOOpenStack Swift等。它们都提供与S3兼容的API(尽管可能存在一些差异)。最好的测试方法是本地堆栈IMHO。它作为Docker image可用,因此您可以在本地或在CI管道中使用它。

不是您问题的Java部分。如果您是JUnit 5的幸运用户,我建议您使用aws-junit5,这是AWS的一组JUnit 5扩展。而且,是的,我是作者。这些扩展可用于为由诸如localstack之类的工具提供的AWS服务注入客户端(实际上,支持任何与AWS兼容的API,包括实际的AWS本身)。同时支持AWS Java SDK v 2.x和v1.x。您可以使用aws-junit5为S3,DynamoDB,Kinesis,SES,SNS和SQS注入客户端。

阅读aws-junit5中的更多内容,甚至还有关于user guide的部分。

© www.soinside.com 2019 - 2024. All rights reserved.