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(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^










コメント