🐈

Amazon DynamoDB 2.0 ローカル (ダウンロード可能バージョン)のインストールと設定方法

2023/07/12に公開

はじめに

最近Amazon DynamoDB 2.0 ローカル (ダウンロード可能バージョン)
がリリースされ、 ローカルでの開発やテストに便利なので、早速インストールしてみました。

インストール

前提条件

前提条件として、Java 11 以上がインストールされている必要があります。

# java 11 install
sudo apt install openjdk-11-jdk

# check java version
java --version
openjdk 11.0.19 2023-04-18
OpenJDK Runtime Environment (build 11.0.19+7-post-Ubuntu-0ubuntu122.04.1)
OpenJDK 64-Bit Server VM (build 11.0.19+7-post-Ubuntu-0ubuntu122.04.1, mixed mode, sharing)

DynamoDB 2.0 ローカルのダウンロード

curlコマンドでダウンロードします。

curl -O https://d1ni2b6xgvw0s0.cloudfront.net/v2.x/dynamodb_local_latest.zip

DynamoDB 2.0 ローカルの解凍

解凍します。

unzip dynamodb_local_latest.zip -d dynamodb
Archive:  dynamodb_local_latest.zip
   creating: dynamodb/DynamoDBLocal_lib/
  inflating: dynamodb/DynamoDBLocal.jar
  inflating: dynamodb/DynamoDBLocal_lib/Apache-HttpComponents-HttpClient-4.5.x.jar
  inflating: dynamodb/DynamoDBLocal_lib/Apache-HttpComponents-HttpCore-4.4.x.jar
  // 省略
  inflating: dynamodb/THIRD-PARTY-LICENSES.txt

解凍すると、dynamodbディレクトリが作成され、DynamoDBLocal.jarが配置されます。

cd dynamodb && ls 
DynamoDBLocal.jar  DynamoDBLocal_lib  LICENSE.txt  README.txt  THIRD-PARTY-LICENSES.txt

認証情報の設定

aws configureコマンドで任意の認証情報を設定します。

aws configure
AWS Access Key ID [None]: test
AWS Secret Access Key [None]: test
Default region name [ap-northeast-1]:
Default output format [json]:

DynamoDB 2.0 ローカルの起動

DynamoDBLocal_libディレクトリのDynamoDBLocal.jarを実行します。
デフォルト8000ポートで起動されます。

java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
Initializing DynamoDB Local with the following configuration:
Port:   8000
InMemory:       false
DbPath: null
SharedDb:       true
shouldDelayTransientStatuses:   false
CorsParams:     null

DynamoDB 2.0 ローカルの確認

新しいターミナルを開き、aws dynamodb list-tablesコマンドでテーブル一覧を確認します。

aws dynamodb list-tables --endpoint-url http://localhost:8000
{
    "TableNames": []
}

テスト用にテーブルを作成してみます。

aws dynamodb create-table \
    --table-name test_table \
    --attribute-definitions \
        AttributeName=Id,AttributeType=S \
    --key-schema \
        AttributeName=Id,KeyType=HASH \
    --provisioned-throughput \
        ReadCapacityUnits=1,WriteCapacityUnits=1 \
    --endpoint-url http://localhost:8000
    
{
    "TableDescription": {
        "AttributeDefinitions": [
            {
                "AttributeName": "Id",
                "AttributeType": "S"
            }
        ],
        "TableName": "test_table",
        "KeySchema": [
            {
                "AttributeName": "Id",
                "KeyType": "HASH"
            }
        ],
        "TableStatus": "ACTIVE",
        "CreationDateTime": "2023-07-11T19:11:27.238000+09:00",
        "ProvisionedThroughput": {
            "LastIncreaseDateTime": "1970-01-01T09:00:00+09:00",
            "LastDecreaseDateTime": "1970-01-01T09:00:00+09:00",
            "NumberOfDecreasesToday": 0,
            "ReadCapacityUnits": 1,
            "WriteCapacityUnits": 1
        },
        "TableSizeBytes": 0,
        "ItemCount": 0,
        "TableArn": "arn:aws:dynamodb:ddblocal:000000000000:table/test_table"
    }
}

テーブルが作成されていることが確認できました。

まとめ

DynamoDB 2.0 ローカルのインストールと設定方法を紹介しました。
ローカルでの開発やテストに便利なので、ぜひ活用してみてください。

Discussion