Amazon web services 为开发环境模拟s3和dynamo

Amazon web services 为开发环境模拟s3和dynamo,amazon-web-services,docker,amazon-s3,amazon-dynamodb,Amazon Web Services,Docker,Amazon S3,Amazon Dynamodb,我希望设置我的暂存服务器(许多实例),以便只需按下一个按钮即可启动新实例。理想情况下,只要我需要,我就会打开一个新的docker实例,但是每个实例都需要自己的s3和dynamo实例。如果有必要的话,我会通过AWSAPI或类似的方式提供真正的s3和dynamodb实例,但我更喜欢使用容器来模拟s3和dynamo。任何建议都将不胜感激。您可以在Docker容器中运行。图像可以找到 LocalStack-一个功能齐全的本地AWS云堆栈 然后需要覆盖AWS SDK客户端中的AWS URL以指向此容器 在

我希望设置我的暂存服务器(许多实例),以便只需按下一个按钮即可启动新实例。理想情况下,只要我需要,我就会打开一个新的docker实例,但是每个实例都需要自己的s3和dynamo实例。如果有必要的话,我会通过AWSAPI或类似的方式提供真正的s3和dynamodb实例,但我更喜欢使用容器来模拟s3和dynamo。任何建议都将不胜感激。

您可以在Docker容器中运行。图像可以找到

LocalStack-一个功能齐全的本地AWS云堆栈

然后需要覆盖AWS SDK客户端中的AWS URL以指向此容器

在Java中,它将如下所示:

DynamoDbClient dynamoDbClient = DynamoDbClient.builder()
            .endpointOverride(localstackUrl)
            .build();

不幸的是,尽管设置了data_DIR,但是数据似乎没有持久化,因为s3数据没有存储在该目录中。此外,我在使用PHP s3客户端与此容器时遇到了很多问题。对不起,我不知道
DATA\u DIR
是什么,但我从未尝试检查容器中存储的文件,我只是使用API保存和加载文件。我正在使用
localstack
进行许多SNS、SQS、S3和DynamoDB测试,没有任何问题。检查覆盖AWS URL的PHP示例是否适用于您:在composer.yml中设置DATA_DIR,以便在取下容器时保存数据。谢谢你的链接,但这似乎是为了别的什么。这是我为s3使用的客户端构造函数,我在回购协议上为我的问题做了一个isue