Локальный запуск DynamoDB: методы и примеры кода для локальной разработки

Чтобы запустить DynamoDB локально, вы можете использовать следующие методы, каждый из которых сопровождается примером кода:

  1. AWS CLI:
    Вы можете использовать интерфейс командной строки (CLI) AWS для локального запуска DynamoDB с помощью следующей команды:

    aws dynamodb start-local-db-instance
  2. Docker:
    Вы можете запустить DynamoDB в контейнере Docker, используя официальный образ DynamoDB Local Docker. Вот пример того, как его запустить:

    docker run -p 8000:8000 amazon/dynamodb-local
  3. 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();
    }
    }
  4. 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
  5. 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. Выберите тот, который лучше всего соответствует вашим потребностям и условиям.