[nodejs] AWS Lambda로 파일 처리하기

AWS Lambda는 서버리스 컴퓨팅 서비스로, 사용자가 서버 프로비저닝, 스케일링, 관리하는 번거로움 없이 코드를 실행할 수 있습니다. 이번 포스트에서는 Node.js를 사용하여 AWS Lambda에서 파일 처리를 하는 방법을 살펴보겠습니다.

1. AWS Lambda 설정

먼저 AWS Management 콘솔에 로그인하여 Lambda를 선택합니다. “함수 생성”을 클릭하고, 함수 이름과 런타임으로 Node.js를 선택합니다. “실행 역할”을 위한 권한을 설정하고, “함수 생성”을 클릭합니다.

2. Lambda 함수 코드 작성

다음으로 Node.js 코드를 작성합니다. 예를 들어, S3에 업로드된 파일을 처리하는 Lambda 함수를 작성해보겠습니다.

const AWS = require('aws-sdk');
const s3 = new AWS.S3();

exports.handler = async (event, context) => {
  const bucket = event.Records[0].s3.bucket.name;
  const key = event.Records[0].s3.object.key;
  
  try {
    const data = await s3.getObject({ Bucket: bucket, Key: key }).promise();
    // 파일 처리 로직을 추가합니다
    console.log("파일 데이터:", data.Body.toString('utf-8'));
    return "파일 처리 완료";
  } catch (err) {
    console.error(err);
    return "파일 처리 에러";
  }
};

3. Lambda 함수 배포

위의 코드를 작성한 후, AWS Management 콘솔을 통해 작성한 코드를 zip 파일로 압축해서 Lambda 함수에 배포합니다.

4. Lambda 함수 실행 및 테스트

Lambda 함수가 성공적으로 배포되었다면, 이제 테스트를 해볼 차례입니다. AWS Management 콘솔에서 “테스트” 버튼을 클릭하여 테스트 이벤트를 설정하고, 함수를 실행하여 파일 처리가 의도한 대로 동작하는지 확인합니다.

이제 당신은 Node.js를 사용하여 AWS Lambda에서 파일을 처리하는 방법에 대해 잘 이해하게 되었습니다. AWS Lambda를 통해 서버리스 아키텍처를 활용하여 효율적으로 파일 처리를 수행할 수 있게 되었습니다.

참고 자료