Lambda를 사용하여 DynamoDB를 사용해보았습니다.
2021. 10. 11 - 최초작성
AWS 관리 콘솔 사이트(https://aws.amazon.com/ko/console/ )에 접속하여 로그인 후, 오른쪽 상단에 보이는 리전을 서울로 변경합니다. 꼭 서울일 필요는 없습니다.
왼쪽 상단에 보이는 서비스를 클릭합니다.
서비스 목록에서 컴퓨팅 항목에 있는 Lambda를 클릭합니다.
오른쪽 상단에 보이는 함수 생성 버튼을 클릭합니다.
상단에 새로 작성이 선택된 상태에서 함수 이름을 적은 후, 런타임을 Python 3.9로 변경합니다. 이제 오른쪽 하단에 보이는 함수 생성을 클릭합니다.
기본 람다 코드가 보입니다. 이 코드는 json 패키지를 임포트하고 lambda_handler라는 함수를 정의합니다.
이벤트가 발생시 실행되는 함수입니다.
주의할 점은 함수 이름 수정시 아래쪽에 보이는 런타임 설정 항목에서 핸들러는 파이썬 파일 이름.함수 이름으로 입력되어 있어야 합니다.
여기에선 파이썬 파일 이름 lambda_function와 함수 이름 lambda_handler로 구성됩니다.
런타임 설정의 핸들러를 잘못 설정하면 람다 함수가 실행되지 않습니다.
다음 코드로 대체합니다.
import boto3 def lambda_handler(event, context): dynamodb = boto3.resource('dynamodb') table = dynamodb.Table('User') response = table.put_item( Item={ 'no' : 1, 'name': '홍길동', 'id': 'hong', } ) return response |
변경된 코드를 저장하기 위해 Deploy 버튼을 클릭합니다.
편의상 새로운 창에서 AWS 관리 콘솔 사이트(https://aws.amazon.com/ko/console/ )에 접속합니다.
왼쪽 상단에 보이는 서비스를 클릭합니다.
서비스 목록에서 컴퓨팅 항목에 있는 DynamoDB를 클릭합니다.
왼쪽에 보이는 항목에서 테이블을 클릭합니다.
오른쪽에 보이는 오렌지색 테이블 생성 버튼을 클릭합니다.
테이블 이름 항목에 User를 입력하고 파티션 키 항목에 no를 입력 후, 오른쪽 콤보박스를 숫자로 변경합니다.
오른쪽 아래에 보이는 테이블 생성을 클릭합니다.
이제 테이블이 생성되었습니다. DynamoDB는 NoSQL이라 컬럼을 따로 생성할 필요가 없습니다. 데이터를 삽입할때 자동으로 해당 컬럼이 생성됩니다.
이 창을 닫지 말고 유지해주세요. 나중에 테이블에 값이 입력되었는지 확인하기 위해 사용합니다.
편편의상 새로운 창에서 AWS 관리 콘솔 사이트(https://aws.amazon.com/ko/console/ )에 접속합니다.
왼쪽 상단에 보이는 서비스를 클릭합니다.
서비스 목록에서 보안, 자격 증명 및 규정 준수 항목에 있는 IAM를 클릭합니다.
왼쪽항목에서 역할을 클릭합니다.
앞에서 만들었던 lambda-test가 목록에 보입니다. 해당 항목을 클릭합니다.
정책 연결을 클릭합니다.
dynamodb를 입력하여 검색된 목록 중에 AmazonDynamoDBFullAccess를 체크하고 오른쪽 아래에 있는 정책 연결을 클릭합니다.
다시 Lambda가 있는 창으로 돌아가서 Test 버튼을 클릭합니다.
다음과 같은 창이 보입니다. 이벤트 이름에 test를 입력후, 오른쪽 아래에 보이는 생성을 클릭합니다.
실제로 사용하지는 않는 부분입니다.
다시 Test 버튼을 클릭합니다.
다음과 같은 실행 결과가 보입니다.
테이블에 제대로 입력되었는지 확인해보겠습니다. DynamoDB를 위한 창으로 돌아갑니다.
목록에서 항목을 클릭합니다.
왼쪽 항목에서 앞에서 생성한 테이블인 User를 체크하면 오른쪽에 입력된 데이터가 보입니다.
오른쪽 위에 자동 미리 보기가 체크된 경우에 다음처럼 간단하게 볼 수 있습니다.
아래처럼 보일 경우에는 실행 버튼을 클릭해야 테이블에 입력된 데이터가 보입니다.
'WEB > AWS' 카테고리의 다른 글
AWS Rest API를 Android와 연동해보기( Lambda + API Gateway + DynamoDB ) (0) | 2023.10.15 |
---|---|
AWS Lambda 함수와 API Gateway로 만든 REST API 배포하기 (0) | 2023.10.12 |
감정 분석(Sentiment Analysis)을 위해 AWS Comprehend API를 사용하는 REST API를 구현 (0) | 2023.10.12 |
AWS Lambda 함수와 API Gateway를 사용하여 REST API 구현 (0) | 2023.10.12 |
Python으로 AWS Lambda 사용해보기 (0) | 2023.10.12 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!