파이썬을 활용한 AWS Lambda 배치 처리 자동화

AWS Lambda는 서버를 프로비저닝하거나 관리하는 번거로움 없이 코드를 실행할 수 있는 서비스입니다. 특히, 일괄 처리 작업을 자동화하기 위해 사용될 수 있습니다. 이 글에서는 파이썬을 사용하여 AWS Lambda를 활용하여 배치 처리 작업을 자동화하는 방법에 대해 알아보겠습니다.

AWS Lambda 함수 작성하기

AWS Lambda 함수를 작성하기 위해서는 먼저 AWS Management Console에 로그인해야 합니다. Lambda 함수를 생성하고 설정하기 위해 다음 단계를 따르세요.

  1. AWS Management Console에 로그인하고 Lambda 서비스로 이동합니다.
  2. “함수 만들기”를 선택하고 원하는 함수 이름을 입력합니다.
  3. 함수에 대한 설명을 추가하고 Python 3.x 런타임을 선택합니다.
  4. “함수 생성”을 클릭하면 새로운 Lambda 함수가 생성됩니다.

배치 처리 자동화

이제 Lambda 함수를 사용하여 배치 처리 작업을 자동화할 수 있습니다. 예를 들어, 매일 정해진 시간에 특정 작업을 실행하도록 설정할 수 있습니다. 이를 위해 CloudWatch Events를 사용하여 Lambda 함수를 예약할 수 있습니다.

다음은 배치 처리 작업을 자동화하기 위한 코드 예시입니다. 이 예시에서는 매일 9시에 S3 버킷에 있는 파일을 처리하는 작업을 실행합니다.

import boto3
import datetime

def lambda_handler(event, context):
    # AWS 리소스 생성
    s3 = boto3.resource('s3')
    bucket = s3.Bucket('my-bucket')

    # 현재 시간 가져오기
    current_time = datetime.datetime.now()
    
    # 파일 처리 작업 실행
    for obj in bucket.objects.all():
        # 파일 수정 일자 확인
        modified_time = obj.last_modified
        if modified_time.date() == current_time.date():
            # 파일 처리 로직 실행
            process_file(obj.key)

위의 코드에서 lambda_handler 함수는 Lambda 함수의 진입점입니다. 이 함수를 실행하는 동안 S3 버킷의 모든 파일을 가져와서 수정 일자를 확인한 후 처리 작업을 실행합니다.

마무리

이렇게하면 파이썬을 사용하여 AWS Lambda를 활용하여 배치 처리 작업을 자동화할 수 있습니다. AWS Lambda 및 CloudWatch Events를 사용하여 자신의 비즈니스 요구 사항에 맞는 자동화된 작업 스케줄링을 설정할 수 있습니다.

#AWS #AWSLambda