[파이썬] AWS Lambda 트리거와 이벤트 소스

AWS Lambda는 서버리스 컴퓨팅 플랫폼으로, 코드 실행에 필요한 인프라 관리를 대신해줍니다. Lambda 함수는 다양한 트리거와 이벤트 소스에 의해 실행될 수 있으며, 이를 통해 다양한 애플리케이션을 개발할 수 있습니다. 이번 글에서는 AWS Lambda 트리거와 이벤트 소스에 대해 알아보겠습니다.

트리거와 이벤트 소스의 개념

AWS Lambda 함수는 특정 이벤트가 발생했을 때 실행되는 서버리스 함수입니다. 이벤트를 감지하여 함수를 실행하는 역할을 하는 것이 트리거입니다. 트리거는 특정 AWS 리소스의 상태 변화, API의 호출, 스케줄 등 다양한 이벤트를 감지할 수 있습니다.

트리거는 이벤트 소스로부터 이벤트를 전달받습니다. 이벤트 소스는 트리거와 관련된 이벤트를 생성하고, AWS Lambda에 전달합니다. 예를 들어, S3 버킷의 파일 생성 이벤트에 대한 트리거를 생성하면, S3 버킷이 이벤트 소스가 되어 Lambda 함수에 파일 생성 이벤트를 전달합니다.

AWS Lambda 트리거의 종류

AWS Lambda 트리거 사용 예시 (Python)

다음은 S3 버킷의 파일 생성 이벤트에 대한 트리거를 생성하는 예시 코드입니다. AWS SDK인 Boto3를 사용하여 Lambda 함수를 생성하고, 트리거를 추가합니다.

import boto3

# Lambda 함수를 생성하는 클라이언트 생성
lambda_client = boto3.client('lambda')

# 트리거를 추가할 S3 버킷과 Lambda 함수 이름
bucket_name = 'my-bucket'
function_name = 'my-lambda-function'

# S3 버킷의 파일 생성 이벤트에 대한 트리거 생성
response = lambda_client.create_event_source_mapping(
    EventSourceArn=f'arn:aws:s3:::{bucket_name}',
    FunctionName=function_name,
    Enabled=True,
    StartingPosition='LATEST'
)

# 트리거 생성 결과 출력
print(response)

위 코드에서는 Boto3를 사용하여 Lambda 함수를 생성하는 lambda_client 객체를 생성했습니다. 그리고 create_event_source_mapping() 메서드를 호출하여 S3 버킷의 파일 생성 이벤트에 대한 트리거를 생성하고 활성화했습니다. 생성 결과는 response에 저장되어 출력됩니다.

마무리

이번 글에서는 AWS Lambda의 트리거와 이벤트 소스에 대해 알아보았습니다. Lambda 함수를 이용하여 다양한 이벤트를 감지하고, 필요한 작업을 수행할 수 있습니다. 적절한 트리거와 이벤트 소스를 선택하여 Lambda 함수를 개발하면, 효율적이고 유연한 애플리케이션을 구축할 수 있습니다.

이러한 트리거와 이벤트 소스에 대한 자세한 내용은 AWS Lambda 문서를 참고하시기 바랍니다.