반응형

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를 체크하면 오른쪽에 입력된 데이터가 보입니다. 

오른쪽 위에 자동 미리 보기가 체크된 경우에 다음처럼 간단하게 볼 수 있습니다. 

 





아래처럼 보일 경우에는 실행 버튼을 클릭해야 테이블에 입력된 데이터가 보입니다. 

 


반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.

도움이 되셨다면 토스아이디로 후원해주세요.
https://toss.me/momo2024


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts