Lambda라는 서비스를 검색해서 들어간다.
함수 생성을 클릭한다.
블루프린트는 수많은 샘플코드(만들어놓은 코드)를 사용할수 있다.
하지만 우린 플레인으로 lambda라는 서비스가 어떤 서비스 인지만 확인할거라 새로작성으로 진행할것이다.
새로작성을 누르고 함수이름 설정, 그리고 런타임 환경은 파이썬으로 진행할것이고 함수생성을 눌러준다.
현재 새로 만들어진 람다를 볼수있는 개요창이다.
Lambda는 서버리스에서 사용할수 있는 함수이다. 즉, 보통은 인스턴스(컴퓨터)를 빌려서 사용하지만 간단한 함수를 실행시킬때는 Lambda라는 서비스를 사용하면 편리하고 비용측면에서도 유리하다.
코드 속성 정보를 확인할수있다.
이제 Lambda의 기본 함수를 파악해보자!
import json
def lambda_handler(event, context):
# TODO implement
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
Lambda서비스는 항상 lambda_handler라는 메서드명을 사용한다.
현재 람다를 실행시킬껀데 굳이 json으로 리턴할 필요도 없으니까 json을 지워준다.
def lambda_handler(event, context):
# TODO implement
return "hello my first lambda function"
위에처럼 소스코드를 수정한뒤 위에 있는 Deploy버튼을 클릭해서 현재 Lambda서비스를 배포한다.
그리고 Test를 클릭하면 배포한 람다 서비스를 확인할수 있다.
함수에서 지정한 return값이 잘 Testing된걸 볼수있다.
그럼, lambda_handler(event, context): 에서 event, context는 어떤값을 가지고 있는지 확인해보자!
def lambda_handler(event, context):
print("==============================================")
print("event prarmeter")
print(event)
print("==============================================")
print("context prarmeter")
print(context)
print("==============================================")
return "hello my first lambda function"
Deloy를 클릭하고 또 Test를 클릭해보자!
======================================================
event prarmeter
{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
======================================================
context prarmeter
LambdaContext([aws_request_id=1e43ae3f-f88c-4d3e-a4a7-c8cd80a8cd60,log_group_name=/aws/lambda/myFirstLambda,log_stream_name=2024/06/27/[$LATEST]3b836eebfca649fcadd1805a6210068e,function_name=myFirstLambda,memory_limit_in_mb=128,function_version=$LATEST,invoked_function_arn=arn:aws:lambda:us-east-1:637423330408:function:myFirstLambda,client_context=None,identity=CognitoIdentity([cognito_identity_id=None,cognito_identity_pool_id=None])])
======================================================
위에처럼 로그가 찍히는데 이때 event parameter는 json형태로 값을 받아지는걸 확인할수 있고 context parameter는 해당 요청의 id및 식별관련한 값들이 들어가 있는것을 확인할수 있다.
그럼 이제 Configure test event에서 test할
이런식으로 새로운 테스트 이벤트를 생성한뒤 이벤트 Json에 key값을 더 추가해서 저장해보자.
그리고 방금 만든 테스트 이벤트를 클릭하자.
======================================================
event prarmeter
{'key1': 'welcome', 'key2': 'to', 'key3': 'lambda', 'key4': 'function', 'key5': 'im euiyeob'}
======================================================
context prarmeter
LambdaContext([aws_request_id=e17bd611-d580-4fa3-92c1-e4701195b362,log_group_name=/aws/lambda/myFirstLambda,log_stream_name=2024/06/27/[$LATEST]2525ae3a088d4430985e9a97f755468e,function_name=myFirstLambda,memory_limit_in_mb=128,function_version=$LATEST,invoked_function_arn=arn:aws:lambda:us-east-1:637423330408:function:myFirstLambda,client_context=None,identity=CognitoIdentity([cognito_identity_id=None,cognito_identity_pool_id=None])])
======================================================
값을 잘받아서 출력되는것을 확인할수 있다.
그럼 Json형식으로 오는것이니까 저 값들을 아래처럼 한문장으로도 만들수 있겠다.
def lambda_handler(event, context):
print("======================================================")
print("event prarmeter")
print(event['key1'], event['key2'], event['key3'], event['key4'], event['key5'])
print("======================================================")
return "hello my first lambda function"
======================================================
event prarmeter
welcome to lambda function im euiyeob
======================================================