Lambda 함수를 배포하기 위한 CDK
이 노트에서는 AWS CDK를 사용하여 Lambda 함수를 배포하고 테스트를 위해 여러 Lambda 함수를 API 게이트웨이와 통합하는 세 가지 방법을 공유하고자 합니다.
1. 파일별로 람다 함수 배포
종속성 설치
python -m pip install --target path-to-lambda numpy
aws_lambda.함수
handler_file = aws_lambda.Function(
self,
id="lambda-handler-wo-dependencies",
code=aws_lambda.Code.from_asset(path.join(dirname, "lambda")),
handler="handler.handler_file",
runtime=aws_lambda.Runtime.PYTHON_3_8,
memory_size=512,
timeout=Duration.seconds(90)
)
2. ecr 이미지로 람다 함수 배포
이 경우 도커 이미지는 로컬 시스템에서 빌드됩니다. 다음은 프로젝트 구조입니다
- aws_devops
- lambda
- Dockerfile
- .dockerignore
- handler.py
- requirements.txt
-aws_devops_stack.py
handler_ecr = aws_lambda.Function(
self,
id="lambda-ecr-build-local",
code=aws_lambda.EcrImageCode.from_asset_image(
directory=path.join(dirname, "lambda")
),
handler=aws_lambda.Handler.FROM_IMAGE,
runtime=aws_lambda.Runtime.FROM_IMAGE,
memory_size=512,
timeout=Duration.seconds(90)
)
3. 기존 ecr 이미지로 람다 함수 배포
handler = aws_lambda.Function(
self,
id="EcrImageId",
code=aws_lambda.EcrImageCode.from_ecr_image(
repository=aws_ecr.Repository.from_repository_name(
self,
id="EcrImageId",
repository_name="EcrRepositoryName"
)
),
architecture=aws_lambda.Architecture.ARM_64,
handler=aws_lambda.Handler.FROM_IMAGE,
runtime=aws_lambda.Runtime.FROM_IMAGE,
memory_size=512,
timeout=Duration.seconds(90),
)
4. 여러 람다와 API 게이트웨이 통합
API 게이트웨이 생성
api_gw = aws_apigateway.RestApi(
self,
id="ApiGatewayLambdaDeployOptions",
rest_api_name="api-lambda-deploy-options"
)
API 리소스 생성
api_file_resource = api_gw.root.add_resource(
path_part="file"
)
람다 통합 생성
api_file_intetgration = aws_apigateway.LambdaIntegration(
handler=handler_file
)
리소스에 메소드 추가
api_file_resource.add_method(
http_method="GET",
integration=api_file_intetgration
)
Reference
이 문제에 관하여(Lambda 함수를 배포하기 위한 CDK), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/entest/cdk-to-deploy-a-lambda-function-4pe8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)