LoginSignup
3
4

More than 5 years have passed since last update.

[パンダでも分かるAWSシリーズ] ローカル(Mac)でDynamoDBのインストールと実行:DynamoDB Local

Posted at

DynamoDB Localとは

DynamoDBの ローカル実行可能なJavaアーカイブ(JAR)ファイルです。

動作環境

Windows、Mac、Linuxシステム上で動作し、
Java Runtime Environment(JRE)のバージョン7と互換性があります。
これより古いバージョンのJavaでは動作しませんのでご注意ください。

インストール

Step1. JREをインストール

下記のコマンドでインストール済みのJAVAバージョンを確認することができます。

$ java -version
java version "1.8.0_112"

Step2. DynamoDB Localをダウンロード&インストール

ダウンロードしたら 解凍 (ダブルクリック あるいは tar zxvf dynamodb_local_latest.tar.gz) します。
そのディレクトリでコマンドプロンプトを開きます。

そして解凍フォルダーに入りDynamoDB Localを起動します。

cd dynamodb_local_latest
$ java -jar DynamoDBLocal.jar –Djava.library.path=.
Initializing DynamoDB Local with the following configuration:
Port:   8000
InMemory:   false
DbPath: null
SharedDb:   false
shouldDelayTransientStatuses:   false
CorsParams: *

デフォルトでは、 0.0.0.0/0で8000番ポートをListenします。
javaコマンドの実行時に --port オプションを付加すること他のポート番号に変更できます。

Step3. AWS CLIでDynamoDBを操作してみる

--endpoint-url オプションがポイントです。

$ aws dynamodb create-table --endpoint-url http://localhost:8000 --table-name mytable --attribute-definitions AttributeName=id,AttributeType=S --key-schema AttributeName=id,KeyType=HASH --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1
{
    "TableDescription": {
        "ProvisionedThroughput": {
            "NumberOfDecreasesToday": 0,
            "WriteCapacityUnits": 1,
            "LastDecreaseDateTime": 0.0,
            "LastIncreaseDateTime": 0.0,
            "ReadCapacityUnits": 1
        },
        "KeySchema": [
            {
                "AttributeName": "id",
                "KeyType": "HASH"
            }
        ],
        "ItemCount": 0,
        "TableStatus": "ACTIVE",
        "AttributeDefinitions": [
            {
                "AttributeName": "id",
                "AttributeType": "S"
            }
        ],
        "CreationDateTime": 1525181907.818,
        "TableName": "mytable",
        "TableArn": "arn:aws:dynamodb:ddblocal:000000000000:table/mytable",
        "TableSizeBytes": 0
    }
}

上記のコマンドを実行したら、
<APIキー名>_<リージョン名>.db ファイルが作成されます。
fileコマンドで調べてみると、SQLiteのデータベースファイルでした。

$ file FFFFFFB51111RE1_ap-northeast-1.db
FFFFFFB51111RE1_ap-northeast-1.db: SQLite 3.x database

注意点(DynamoDBとの違い)

  • DynamoDB Localはプロビジョンされたスループット(Throughput)の設定を無視します。Throughputの制限による動作確認はできません。

Dockerにのせて動かす方法もあり

参考

(1). 【AWS発表】 デスクトップ開発を可能にする DynamoDB Local
(2). Amazon DynamoDB LocalをOSX(Mountain Lion)で実行する

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4