📘
PythonでDynamoDBのCRUD操作を実践【最終回】
こんにちは!このシリーズもいよいよ第3回目です。これまでの記事で、以下を学んできました。
第1回:WSL、Docker、Pythonの導入
第2回:DockerでDynamoDBをローカルに構築し、Pythonで接続
今回は、Pythonを使ってDynamoDBのCRUD操作を実践します!簡単なサンプルアプリケーションを通じて、DynamoDBの操作方法を学んでいきましょう。
1. CRUDとは?
CRUDはデータベース操作の基本で、以下の操作を指します。
Create: データの作成
Read: データの読み取り
Update: データの更新
Delete: データの削除
今回は、これらをPythonコードで順番に実装していきます。
2. サンプルアプリケーションの準備
まず、前回作成したDynamoDBテーブル(TestTable)を引き続き使用します。
前提条件
DynamoDBローカル環境が起動している(docker runコマンドで起動済み)。
Python仮想環境が有効化されている(source venv/bin/activate)。
必要なライブラリがインストールされている。
pip install boto3
3. CRUD操作の実装
3.1 データの作成(Create)
以下のコードでデータを挿入します。
import boto3
# DynamoDBクライアントの設定
dynamodb = boto3.resource(
'dynamodb',
endpoint_url='http://localhost:8000',
region_name='us-west-2',
aws_access_key_id='dummy',
aws_secret_access_key='dummy'
)
# テーブルを指定
table = dynamodb.Table('TestTable')
# データの作成
def create_item():
table.put_item(
Item={
'id': '001',
'name': 'Alice',
'age': 25
}
)
print("Item created successfully!")
create_item()
3.2 データの読み取り(Read)
次に、特定のデータを取得します。
# データの取得
def read_item():
response = table.get_item(
Key={
'id': '001'
}
)
item = response.get('Item', {})
print("Retrieved item:", item)
read_item()
3.3 データの更新(Update)
次に、既存のデータを更新します。
# データの更新
def update_item():
table.update_item(
Key={
'id': '001'
},
UpdateExpression="SET age = :age",
ExpressionAttributeValues={
':age': 30
},
ReturnValues="UPDATED_NEW"
)
print("Item updated successfully!")
update_item()
3.4 データの削除(Delete)
最後に、データを削除します。
# データの削除
def delete_item():
table.delete_item(
Key={
'id': '001'
}
)
print("Item deleted successfully!")
delete_item()
- CRUD操作のまとめ
これでCRUD操作の基本を学ぶことができました!今回のコードを基に、より複雑な操作やエラー処理を追加して、アプリケーションを発展させてみてください。
次のステップとして、以下のような応用を考えてみるのも良いでしょう。
AWSの実際のDynamoDBを使ったデプロイ
FlaskやFastAPIを使った簡単なAPIの作成
データの集計や高度な検索クエリの実装
Discussion