🐡

DockerでDynamoDBを立ち上げ、Pythonで接続してみよう【第2回】

2024/11/20に公開

DockerでDynamoDBを立ち上げ、Pythonで接続する【第2回】

DockerでDynamoDBをローカルに構築する手順

  • AWS公式が提供しているDynamoDBのDockerイメージを使用。

  • DynamoDBコンテナを起動するコマンドの解説。

  • コンテナの状態を確認する方法。

  • DynamoDBの簡単な操作

  • ローカル環境の確認(例えば、AWS CLIやPostmanで接続テスト)。

  • 簡単なデータ作成と読み取りを試す。

  • PythonからDynamoDBに接続

  • boto3を使った接続方法。

  • ローカルDynamoDBへのエンドポイント指定のポイント。

  • サンプルコードでテーブルの作成とデータの挿入を実践。

  • 想定される手順例

1. DockerでDynamoDBを立ち上げる

DynamoDBの公式Dockerイメージを取得して起動する。

docker pull amazon/dynamodb-local
docker run -d -p 8000:8000 --name dynamodb amazon/dynamodb-local

コンテナが正常に動作しているか確認する。

Copy code
cadocker ps

2. DynamoDBローカル環境を確認

AWS CLIで接続をテスト。

aws dynamodb list-tables --endpoint-url http://localhost:8000

テスト結果でエラーがないことを確認。

3. PythonでDynamoDBに接続

サンプルコード例:

import boto3

# DynamoDBクライアントを作成
dynamodb = boto3.resource(
    'dynamodb',
    endpoint_url='http://localhost:8000',  # ローカルDynamoDBへの接続
    region_name='us-west-2',
    aws_access_key_id='dummy',
    aws_secret_access_key='dummy'
)

# テーブルの作成
table_name = 'TestTable'
table = dynamodb.create_table(
    TableName=table_name,
    KeySchema=[
        {'AttributeName': 'id', 'KeyType': 'HASH'}
    ],
    AttributeDefinitions=[
        {'AttributeName': 'id', 'AttributeType': 'S'}
    ],
    ProvisionedThroughput={
        'ReadCapacityUnits': 1,
        'WriteCapacityUnits': 1
    }
)

print(f"Table {table_name} created successfully!")

次回予告
第3回では、PythonでDynamoDBのCRUD操作(データの作成、読み取り、更新、削除)を実践しながら、より具体的な操作方法を学んでいきます。簡単なサンプルアプリケーションを作成してみる予定です。

Discussion