728x90
반응형
반응형
lambda를 만드는 방법은 여기를 참고해주세요
2023.06.28 - [programing/aws] - [ Lambda ] aws lambda 만들어보기
람다에 api gateway를 연결하는 방법은 여기를 참고해주세요
2023.06.28 - [programing/aws] - [ Lambda ] api gateway 연결하기
이번에는 lambda에서 다른 lambda를 불러보려고 합니다.
저는 python을 사용했습니다
lambda함수는 이미 만드는 방법을 글로 작성해두었기 때문에 여기서는 생략하고 invoke에 대해서만 작성하려고 합니다
lambda함수 ( invokeTest ) 에서 다른 lambda함수 ( myFirstLambda ) 를 부르려고 합니다.
invokeTest 람다 함수입니다.
import json
import boto3
def lambda_handler(event, context):
print(event)
client = boto3.client('lambda')
query = {
"test1": "test",
"test2": "test"
}
response = client.invoke(
FunctionName='myFirstLambda', # <- 부르고 싶은 람다 함수 이름
InvocationType='RequestResponse',
LogType='Tail',
Payload=json.dumps(query) # <- 보내고 싶은 파라미터
)
res = response['Payload'].read()
print(res)
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
myFirstLambda 함수는 변경하지 않았습니다
이제 invokeTest 함수를 테스트해보겠습니다
테스트를 해보면 에러가 납니다
다른 람다 함수에 접근할 권한이 없어서 나는 에러입니다
권한 설정을 한번 해보겠습니다
설정 -> 액세스 권한을 누르면
실행 역할이 나옵니다.
우리는 역할 이름 밑에 있는 링크를 눌러줍니다
권한을 추가해볼게요
lambda를 검색해주세요
이 룰을 선택하고
권한을 추가합니다
이제 다시 한번 테스트를 해볼게요
성공했습니다
다음에는 sqs랑 lambda를 연결해볼게요
728x90
반응형
'programing > aws' 카테고리의 다른 글
[ DynamoDB ] mock 사용해보기 (0) | 2023.07.10 |
---|---|
[ Lambda ] Lambda랑 SQS 연결하기 (0) | 2023.06.29 |
[ Lambda ] api gateway 연결하기 (0) | 2023.06.28 |
[ Lambda ] aws lambda 만들어보기 (0) | 2023.06.28 |
[ aws ] VPC(virtual private cloud)란? (0) | 2023.01.18 |
댓글