PythonでBoto3を用いて作成したDynamoDBに新しいアイテムを追加する

PythonでBoto3を用いて作成したDynamoDBに新しいアイテムを追加してみます。

前回、PythonでBoto3を用いてAmazon DynamoDBにテーブルを作成するという記事を公開し、Amazon DynamoDBに「Test1」というテーブルを作成し、テーブルを一覧表示させてみました。今回は続きとして、作成したテーブルにアイテムを追加してみます。

なお、今回はBoto3を用います。このライブラリ・モジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。また、Boto3を用いる場合には、クレデンシャル(資格情報)などの設定が必要になりますので、こちらを参考にしていただければと思います。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■Boto3を用いて作成したDynamoDBに新しいアイテムを追加する

では、早速Boto3を用いて作成したDynamoDBに新しいアイテムを追加し、アイテムを出力するスクリプトを書いていきます。

■コード

import boto3

dynamodb = boto3.resource('dynamodb')

table = dynamodb.Table('Test1')

response = table.put_item(
    Item = {
        'Name':'田中一太郎',
        'Email':'test_01@test_corporation.com'
    }
)

print(response)

importでboto3モジュールを呼び出します。その後、dynamodbという変数を定義し、その中でboto3.resource()を用いて、括弧内に引数,パラメータとして、リソースであるdynamodbを渡します。

渡した後に、tableという変数を定義し、その中でdynamodb.Table()を用います。括弧内には引数,パラメータとして、作成したテーブルの名前を渡します。これで、以前作成した「Test1」というテーブルが選択された状態になります。

その後、responseという変数を定義し、その中でtableに対してput_item()を用います。括弧内には引数,パラメータとして、テーブルに追加するアイテムを渡します。今回は、Itemという辞書の形で波括弧”{} ”で要素を囲み、コロン”: ”でキーと値を記述します。これで、テーブルにアイテムが追加されます。

追加された結果をprint()で出力します。

■実行・検証

このスクリプトを「a_db_table_all.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

{'ResponseMetadata': {'RequestId': '******:', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'Server', 'date': 'Wed, 06 Apr 2022 05:30:57 GMT', 'content-type': 'application/x-amz-json-1.0', 'content-length': '2', 'connection': 'keep-alive', 'x-amzn-requestid': '******', 'x-amz-crc32': '2745614147'}, 'RetryAttempts': 0}}

実行してみると、「ResponseMetadata」が出力されます。これで作成したテーブルにアイテムが追加されました。

追加後、AWSにログインし、「AWS マネジメントコンソール」から「DynamoDB」へアクセスし、「項目の探索」から「テーブル」で作成したテーブルを選択してみると、「返された項目」として、Boto3を用いて追加した新しいアイテムが表示されていることが確認できました。

最後に、今回追加したアイテムには日本語の文字列も含まれていましたが、日本語であってもアイテムとして追加できることがわかりました。

コメント

タイトルとURLをコピーしました