Чтобы запустить DynamoDB локально, вы можете использовать следующие методы, каждый из которых сопровождается примером кода:
-
AWS CLI:
Вы можете использовать интерфейс командной строки (CLI) AWS для локального запуска DynamoDB с помощью следующей команды:aws dynamodb start-local-db-instance -
Docker:
Вы можете запустить DynamoDB в контейнере Docker, используя официальный образ DynamoDB Local Docker. Вот пример того, как его запустить:docker run -p 8000:8000 amazon/dynamodb-local -
Java:
DynamoDB можно запускать локально с помощью AWS SDK для Java. Вот пример того, как запустить его программно:import com.amazonaws.services.dynamodbv2.local.main.ServerRunner; import com.amazonaws.services.dynamodbv2.local.server.DynamoDBProxyServer; public class DynamoDBLocalExample { public static void main(String[] args) throws Exception { DynamoDBProxyServer server = ServerRunner.createServerFromCommandLineArgs(args); server.start(); // Your code here server.stop(); } } -
Node.js:
Вы можете использовать плагинserverless-dynamodb-localдля локального запуска DynamoDB с помощью Node.js и Serverless Framework. Вот пример того, как это настроить:service: my-service provider: name: aws runtime: nodejs12.x environment: DYNAMODB_ENDPOINT: http://localhost:8000 plugins: - serverless-dynamodb-local -
LocalStack:
LocalStack – популярный инструмент для локального запуска сервисов AWS. Он предоставляет локальную среду, имитирующую многие сервисы AWS, включая DynamoDB. Вот пример запуска DynamoDB с LocalStack с использованием Docker и интерфейса командной строки AWS:docker run -p 4566:4566 -p 4571:4571 -e SERVICES=dynamodb localstack/localstack aws --endpoint-url=http://localhost:4566 dynamodb create-table --table-name my-table --attribute-definitions AttributeName=id,AttributeType=S --key-schema AttributeName=id,KeyType=HASH --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5
Вот некоторые методы, которые можно использовать для локального запуска DynamoDB. Выберите тот, который лучше всего соответствует вашим потребностям и условиям.