AWS CLI, Boto3

DynamoDB with Boto3(Python) 2편

Joon0464 2021. 7. 16. 23:35

DynamoDB CRUD

1. 항목 생성(Create)

# createitem.py

import boto3
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('users')
table.put_item(
   Item={
        'username': 'janedoe',
        'first_name': 'Jane',
        'last_name': 'Doe',
        'age': 25,
        'account_type': 'standard_user',
    }
)

put_item을 사용하면 항목을 생성할 수 있다.

lastname과 username은 기본키이며 나머지는 추가 attribute로 데이터가 입력된다.

위와 같이 데이터가 들어간다.

2. 항목 조회(Read)

# readitem.py

import boto3
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('users')
response = table.get_item(
    Key={
        'username': 'janedoe',
        'last_name': 'Doe'
    }
)
item = response['Item']
print(item)

get_item을 사용하여 기본키를 적어주면 해당 기본키를 가진 항목을 조회하게 된다.

해당 코드를 실행시켜주면 위와 같이 항목이 조회된다.

3. 항목 갱신(Update)

# updateitem.py

import boto3
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('users')
table.update_item(
    Key={
        'username': 'janedoe',
        'last_name': 'Doe'
    },
    UpdateExpression='SET age = :val1',
    ExpressionAttributeValues={
        ':val1': 26
    }
)

항목을 갱신하기 위해서 update_item을 사용한다.

업데이트할 항목을 지정하기 위해서 기본키 값을 사용하며 그 다음에 업데이트 될 속성과 값을 적어준다.

 

updateitem.py를 실행하고 readitem.py를 실행하여 조회하면 나이 속성의 값이 26으로 변경된 것을 볼 수 있다.

4. 항목 삭제(Delete)

import boto3
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('users')
table.delete_item(
    Key={
        'username': 'janedoe',
        'last_name': 'Doe'
    }
)

delete_item으로 항목을 삭제하며 기본키 값으로 삭제할 항목을 지정한다.

작성한 코드를 실행한다.

users 테이블에서 항목이 완전히 제거된 것을 볼 수 있다.