람다 스퀘어 람다 - AWS 솔루션 구성체

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

람다 스퀘어 람다

모든 클래스는 활발히 개발 중이며 향후 버전에서 이전 버전과 호환되지 않는 변경 또는 제거 될 수 있습니다. 이들은 적용되지 않습니다의미 체계 버전모델을 선택합니다. 즉, 이 패키지를 사용할 수도 있지만 이 패키지의 최신 버전으로 업그레이드할 때 소스 코드를 업데이트해야 할 수도 있습니다.

참고: 적절한 기능을 보장하려면 프로젝트의 AWS 솔루션 구성 패키지와 AWS CDK 패키지가 동일한 버전이어야 합니다.

언어 패키지
Python
aws_solutions_constructs.aws_lambda_sqs_lambda
타이프 스크립트
@aws-solutions-constructs/aws-lambda-sqs-lambda
Java
software.amazon.awsconstructs.services.lambdasqslambda

Overview

이 AWS 솔루션은 (1) 메시지를 대기열로 전송하도록 구성된 AWS Lambda 함수, (2) Amazon SQS 대기열, (3) 대기열에서 메시지를 소비하도록 구성된 AWS Lambda 함수를 구현합니다.

다음은 TypeScript 터의 최소 배포 가능한 패턴 정의입니다.

import { LambdaToSqsToLambda, LambdaToSqsToLambdaProps } from "@aws-solutions-constructs/aws-lambda-sqs-lambda"; new LambdaToSqsToLambda(this, 'LambdaToSqsToLambdaPattern', { producerLambdaFunctionProps: { runtime: lambda.Runtime.NODEJS_14_X, // This assumes a handler function in lib/lambda/producer-function/index.js code: lambda.Code.fromAsset(`${__dirname}/lambda/producer-function`), handler: 'index.handler' }, consumerLambdaFunctionProps: { runtime: lambda.Runtime.NODEJS_14_X, // This assumes a handler function in lib/lambda/consumer-function/index.js code: lambda.Code.fromAsset(`${__dirname}/lambda/consumer-function`), handler: 'index.handler' } });

Initializer

new LambdaToSqsToLambda(scope: Construct, id: string, props: LambdaToSqsToLambdaProps);

파라미터

패턴 구성

이름 유형 설명
기존프로듀서람다오브? lambda.Function 대기열에 메시지를 보내는 기본 함수 대신 사용할 선택적 기존 Lambda 함수입니다. 이 두 가지를 모두 제공producerLambdaFunctionProps오류가 발생합니다.
프로듀서람다기능Props? lambda.FunctionProps 생성자 Lambda 함수의 기본 속성을 재정의하는 선택적 사용자 제공 속성입니다.
대기열에 있는 Obj? sqs.Queue 기본 대기열 대신 사용할 기존 SQS 대기열 선택 사항입니다. 이 두 가지를 모두 제공queueProps오류가 발생합니다.
대기열 소품? sqs.QueueProps SQS 대기열의 기본 속성을 재정의하는 선택적 사용자 제공 속성입니다. 이 두 가지를 모두 제공existingQueueObj오류가 발생합니다.
배포데드 레터 큐? boolean 배달 못한 편지 대기열로 사용할 보조 대기열을 생성할지 여부를 지정합니다. 기본값은 true입니다.
데드레터 대기열Props? sqs.QueueProps 데드 레터 큐의 기본 소품을 재정의하는 선택적 사용자 제공 소품. 이 인 경우에만 사용됩니다.deployDeadLetterQueue속성은true.
maxReceiveCount? number 배달 못한 편지 대기열로 이동되기 전에 메시지가 대기열에서 빼지 못한 횟수입니다. 기본값은 15입니다.
기존소비자람다오브? lambda.Function 대기열에서 메시지를 수신/소비하기 위한 기본 함수 대신 사용할 선택적 기존 Lambda 함수입니다. 이 두 가지를 모두 제공consumerLambdaFunctionProps오류가 발생합니다.
소비자람다기능Props? lambda.FunctionProps 소비자 Lambda 함수의 기본 속성을 재정의하는 선택적 사용자 제공 속성입니다.
대기열 환경변수 이름? string 생성자 Lambda 함수에 대해 설정된 SQS 대기열 URL 환경 변수의 선택적 이름입니다.

패턴 속성

이름 유형 설명
소비자람다함수 lambda.Function 패턴에 의해 생성 된 소비자 Lambda 함수의 인스턴스를 돌려줍니다.
데드 레터 큐? sqs.Queue 패턴에 의해 생성 된 데드 레터 큐의 인스턴스를 돌려줍니다.
프로듀서람다함수 lambda.Function 패턴에 의해 생성 된 프로듀서 Lambda 함수의 인스턴스를 돌려줍니다.
분류: SQqueue sqs.Queue 패턴에 의해 생성된 SQS 대기열의 인스턴스를 반환합니다.

기본 설정

재정의 된 속성이없는 이 Construct의 기본 구현은 다음 기본값을 준수합니다.

AWS Lambda 함수

  • Lambda 함수에 대한 제한된 권한 액세스 IAM 역할을 구성합니다.

  • NodeJS Lambda 함수에 대한 연결 유지와 연결을 재사용 할 수 있습니다.

  • X-Ray 추적 사용

  • 환경 변수를 설정합니다.

    • AWS_NODEJS_CONNECTION_REUSE_ENABLED(노드 10.x 이상 함수의 경우)

Amazon SQS 대기열

  • 기본 대기열에 대한 배달 못한 편지 대기열을 배포합니다.

  • AWS 관리형 KMS 키를 사용하여 기본 대기열에 대해 서버 측 암호화를 활성화합니다.

  • 전송 중인 데이터의 암호화 강제 시행

Architecture

GitHub

이 패턴의 코드를 보려면 문제 및 끌어오기 요청을 작성/조회하는 등의 작업을 수행합니다.
@aws -솔루션 - 구성/aws - 람다 - sqs-람다