DynamoDB編~Localを試してみる②~

こんにちは! JQです。

前回は『 DtynamoDB編~Localを試してみる①~ 』と題して、DynamoDB Localを試してみました。

今回は『DtynamoDB編~Localを試してみる②~』と題して、DynamoDB LocalをBotoで試してみたいと思います。

1.Botoのインストール

先ずはBotoのインストールを行います。

1$ sudo apt-get install python-setuptools2$ sudo easy_install pip3$ sudo pip install boto

確認してみます。

1$ python2Python 2.7.6 (default, Mar 22 2014, 22:59:56)3[GCC 4.8.2] on linux24Type "help", "copyright", "credits" or "license" for more information.5>>> import boto6>>> boto.Version7'2.29.1'

2.DynamoDB Localに接続

DynamoDB Localに接続してみます。

※keyは無視されますが、設定しておく必要があります。

1$ python2Python 2.7.6 (default, Mar 22 2014, 22:59:56)3[GCC 4.8.2] on linux24Type "help", "copyright", "credits" or "license" for more information.5>>> from boto.dynamodb2.layer1 import DynamoDBConnection6>>> conn = DynamoDBConnection(7...     host='localhost',8...     port=8000,9...     aws_access_key_id='anything',10...     aws_secret_access_key='anything',11...     is_secure=False)12>>> conn13DynamoDBConnection:localhost14>>> conn.list_tables()15{u'TableNames': []}

3.Table作成

Tableを作成してみます。

1>>> from boto.dynamodb2.table import Table2>>> from boto.dynamodb2.fields import HashKey, RangeKey3>>> from boto.dynamodb2.types import NUMBER4>>> Table.create(5...     'devkc',6...     schema=[HashKey('dev_id'), RangeKey('timestamp', data_type=NUMBER)],7...     throughput={'read': 5, 'write': 2},8...     connection=conn9... )10<boto.dynamodb2.table.Table object at 0x7f6e1d438990> 11>>> conn.list_tables()12{u'TableNames': [u'devkc']}

4.ItemのPut

続いてItemをPutしてみます。

1>>> import uuid2>>> import time3>>> table = Table('devkc', connection=conn)4>>> item = Item(table, data={5...     'dev_id': str(uuid.uuid4()),6...     'timestamp': time.time()7... })8>>> item.save()9True

確認してみます。

1>>> result = table.scan()2>>> for d in result:3...     print d['dev_id'], d['timestamp']4...500c322d5-3f6f-4617-b2b3-dd4d82d73b1f 1402992399.76725101470947265625

Localでも問題なく動作しています。

いかがでしたでしょうか?

次回もお楽しみに!!!

この記事を書いた人

aws-recipe-user