DynamoDBのローカル版DynamoDB localのインストール方法と使い方
DynamoDBにはローカルで起動するDynamoDB localというローカルで動作するツールがあります。
JRE1.7以上が必要です。以下よりダウンロードします。
zipを解凍すると以下のような構成で解凍されます。
DynamoDBLocal.jarをコマンドプロンプトから実行します。
C:\DynamoDB-local>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: *
これでDynamoDB-localが起動されました。
このまま、http://localhost:8000/shell/にアクセスします。
右上の</>ボタンを押します。以下のようにAPIテンプレートが表示されます。
とりあえずテーブルを作成したいので「CreateTable」をクリックします。
GlobalSecondaryIndexes、LocalSecondaryIndexesはオプショナルなので削除しました。
var params = { TableName: 'table_name', KeySchema: [ // The type of of schema. Must start with a HASH type, with an optional second RANGE. { // Required HASH type attribute AttributeName: 'hash_key', KeyType: 'HASH', }, { // Optional RANGE key type for HASH + RANGE tables AttributeName: 'range_key', KeyType: 'RANGE' } ], AttributeDefinitions: [ // The names and types of all primary and index key attributes only { AttributeName: 'hash_key', AttributeType: 'S' // (S | N | B) for string, number, binary }, { AttributeName: 'range_key', AttributeType: 'S' // (S | N | B) for string, number, binary } ], ProvisionedThroughput: { // required provisioned throughput for the table ReadCapacityUnits: 1, WriteCapacityUnits: 1, } }; dynamodb.createTable(params, function(err, data) { if (err) ppJson(err); // an error occurred else ppJson(data); // successful response });
これで実行します。
コンソール側に以下が表示されます。
+を押せばすべて展開されますし、–を押せば全て閉じられます。
listTablesでテーブル一覧を表示する
APIテンプレートよりListTablesを選択します。
var params = { }; dynamodb.listTables(params, function(err, data) { if (err) ppJson(err); // an error occurred else ppJson(data); // successful response });
このコードを実行すると、以下のような結果がコンソールに返ってきます。
テーブル一覧にtable_nameというのが存在することがわかります。
PutItemで項目(行)をインサートする
APIテンプレートのPutItemをクリックして以下のように書き換えます。
var params = { TableName: 'table_name', Item: { // a map of attribute name to AttributeValue hash_key : '1', range_key : '1', first_name : 'taro' } }; docClient.put(params, function(err, data) { if (err) ppJson(err); // an error occurred else ppJson(data); // successful response });
次にAPIテンプレートよりscanしてみます。
var params = { TableName: 'table_name' }; dynamodb.scan(params, function(err, data) { if (err) ppJson(err); // an error occurred else ppJson(data); // successful response });
結果は以下のようになります。項目が1件追加されているのが確認できます。
フロッピーディスクのアイコンをクリックすると、今のコーディングをテキスト形式で保存してダウンロードすることもできて、便利です。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント