AWS Lambda Python에서 Boto3로 DynamoDB에서 데이터 가져오기
- 2일 전
- 1분 분량
Python에서 Boto3를 사용해, DynamoDB에서 데이터를 가져와 봅니다.
이번에 사용한 환경은
DynamoDB: 사전에 「testdb」라는 테이블을 만들어 둡니다
Runtime: python3.10 (Lambda에서 실행)
Python 코드
import json
import boto3
from boto3.dynamodb.conditions import Key, Attr
def lambda_handler(event, context):
print(event)
table_name = 'testdb'
dynamo = boto3.resource('dynamodb')
table = dynamo.Table(table_name)
response = table.query(KeyConditionExpression=Key('Artist').eq(event['artist']))
return(response)
import로 boto3 모듈을 불러옵니다.
그 후, 사용할 테이블명을 정의합니다.
boto3를 사용해 dynamodb의 객체를 가져옵니다
query를 사용해 DB에서 값을 가져옵니다. 이번에는 payload에서 가져온 값이 DB의 Artist 키와 일치하는 데이터를 가져오는 조건을 설정했습니다.
마지막으로 결과를 return하고 종료합니다.
테스트용 payload
{
"artist": "Michael Jackson"
}
실행 결과
{
"Items": [
{
"Title": "Thriller",
"Artist": "Michael Jackson"
}
],
"Count": 1,
"ScannedCount": 1,
"ResponseMetadata": {
"RequestId": "***************",
"HTTPStatusCode": 200,
"HTTPHeaders": {
"server": "Server",
"date": "Wed, 07 Jun 2023 09:03:16 GMT",
"content-type": "application/x-amz-json-1.0",
"content-length": "98",
"connection": "keep-alive",
"x-amzn-requestid": "***************",
"x-amz-crc32": "4290830663"
},
"RetryAttempts": 0
}
}
실행하면 조건에 맞는 값을 가져올 수 있었습니다.



댓글