目的

DynamoDB をローカル環境で使いたい。

対応方法

DynamoDB ローカルを Docker で動かす

version: '3.8'
services:
  dynamodb-local:
    command: "-jar DynamoDBLocal.jar -sharedDb -dbPath ./data"
    image: "amazon/dynamodb-local:latest"
    container_name: dynamodb-local
    ports:
      - "8888:8000"
    volumes:
      - "./docker/dynamodb:/home/dynamodblocal/data"
    working_dir: /home/dynamodblocal

起動

% docker-compose up -d

テーブルを作成してみる

% export AWS_DEFAULT_REGION=us-west-2
% export ENDPOINT="http://localhost:8888"

% aws dynamodb create-table \
    --table-name sessions \
    --endpoint-url "${ENDPOINT}" \
    --attribute-definitions \
        AttributeName=id,AttributeType=S \
    --key-schema \
        AttributeName=id,KeyType=HASH \
    --billing-mode PAY_PER_REQUEST \
    --table-class STANDARD

環境

% sw_vers
ProductName:    macOS
ProductVersion: 12.4
BuildVersion:   21F79