AWS 콘솔에서 lambda 를 선택한다.
함수 메뉴를 선택하고 함수 생성 버튼을 선택한다.

간단한 함수를 만들기 위해 새로 작성을 선택하여 준다.
함수 이름을 설정하고 런타임을 실행할 프로그래밍 언어를 선택하여준다.
파이썬 함수를 사용할 것이므로 python3.10을 선택하였다.
권한 탭을 눌러서 원하는 권한을 생성할 수 있다.
AWS 정책 템플릿에서 새 역할 생성을 선택한다.
정책 템플릿에서 허용할 권한을 선택해준다.

선택한 내용에 따라 함수를 생성해주고 S3에 파일이 업로드될 때 마다 lambda 함수를 실행할 것이므로 트리거 추가를 이용할 것이다.

트리거 구성에서 S3를 선택하고 원하는 버킷을 선택한다.
이벤트 타입에서 PUT을 선택하여 업로드될때마다 함수를 실행할 것을 선택한다.
트리거를 추가한 뒤 코드 항목에서 S3 버킷에 파일이 추가될 때마다 파일의 내용을 읽는 코드를 작성하여준다.

deploy 버튼을 눌러 코드를 저장해준다.
현재 S3가 모든 퍼블릭 액세스를 차단하고 있기 때문에 S3에 접근하기 위해서 S3 접근 권한이 필요하다.
IAM 에서 사용자 혹은 사용자 그룹을 선택하고 S3 접근 권한을 부여하여야 한다.
정책을 선택하고 원하는 권한이 있는 정책을 생성해야 한다.
정책 생성 버튼을 선택하고 JSON 탭을 선택해 준 후 정책 편집기 항목에 다음 내용을 붙여 넣는다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ExampleStat",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::BUCKET_NAME/*"
]
}
]
}
BUCKET_NAME에 자신의 bucket name에 해당하는 이름을 붙여 넣고 저장해준다.
이제 S3에 파일을 업로드 한 후 lambda의 모니터링의 CloudWatch Logs 보기로 이동하여 작성된 코드가 잘 실행되었는지 확인한다.


로그 스트림 중 가장 위의 항목을 선택하여 가장 최근에 실행한 lambda 함수의 실행결과가 어떻게 나타났는지 확인한다.

업로드한 파일의 내용을 읽어온 후 새로운 버킷에 업로드하는 기능을 구현하였으며 해당 기능이 잘 수행되고 있는 것을 확인하였다.