Я хочу настроить свой промежуточный сервер (много экземпляров), чтобы иметь возможность запускать новые экземпляры одним нажатием кнопки. В идеале я бы просто запускал новый экземпляр докера всякий раз, когда он мне нужен, однако каждому экземпляру нужен собственный экземпляр s3 и динамо. Если мне нужно, я вызову настоящие экземпляры s3 и DynaModb через aws API или аналогичный, но я бы предпочел иметь контейнеры для имитации s3 и Dynamo. Мы ценим любые предложения.





Вы можете запустить локальный стек в контейнере Docker. Изображение можно найти здесь.
LocalStack - A fully functional local AWS cloud stack
Затем вам нужно переопределить URL-адрес AWS в клиенте AWS SDK, чтобы он указывал на этот контейнер.
В Java это будет выглядеть так:
DynamoDbClient dynamoDbClient = DynamoDbClient.builder()
.endpointOverride(localstackUrl)
.build();
Извините, я не знаю, что такое DATA_DIR, но я никогда не пробовал проверять файлы, хранящиеся в самом контейнере, я просто использую API для сохранения и загрузки файлов. Я без проблем использую localstack для многих тестов SNS, SQS, S3, DynamoDB. Проверьте, работает ли для вас этот пример PHP, переопределяющий URL-адрес AWS: aws.amazon.com/blogs/developer/using-new-regions-and-endpointts
DATA_DIR устанавливается в composer.yml для сохранения данных при удалении контейнеров. Спасибо за ссылку, но это похоже на что-то другое. Вот конструктор клиента, который я использую для s3 docs.aws.amazon.com/aws-sdk-php/v3/api/…
Я создал вопрос в репозитории по своей проблеме github.com/localstack/localstack/issues/1292
К сожалению, с этим много проблем, данные, похоже, не сохраняются, несмотря на установку DATA_DIR, потому что данные s3 не хранятся в этом каталоге. Также у меня множество проблем с использованием клиента PHP s3 с этим контейнером.