AWS Lambda로 구축하는 서버리스 애플리케이션
Claudio Canales
Senior DevOps Engineer


푸시 모델
폴 모델

큐 (Amazon SQS)
스트림 (DynamoDB Streams)

{
"Records": [{
"messageId": "abc-123",
"body": "{\"order_id\": \"A-42\"}"
}]
}
Records로 시작합니다.messageId와 body 문자열이 있습니다.body를 파싱하여 필요한 페이로드를 추출하세요.def lambda_handler(event, context):
records = event.get("Records", [])
for record in records:
body = record.get("body", "")
print("BODY:", body)
return {"statusCode": 200}
Records를 기본 리스트로 읽어옵니다.body를 안전하게 읽습니다.import json
def lambda_handler(event, context):
record = event.get("Records", [])[0]
payload = json.loads(record.get("body", "{}"))
order_id = payload.get("order_id")
print("ORDER_ID:", order_id)
return {"statusCode": 200}
json을 임포트하고 안전한 기본값으로 body를 읽습니다.json.loads로 파싱하여 딕셔너리를 얻습니다.ApproximateAgeOfOldestMessage로 백로그를 모니터링하세요.




def lambda_handler(event, context):
failures = []
for record in event.get("Records", []):
try:
process(record)
except Exception:
failures.append({"itemIdentifier": record["messageId"]})
return {"batchItemFailures": failures}
messageId를 batchItemFailures에 수집합니다.
AWS Lambda로 구축하는 서버리스 애플리케이션