AWS-Dynamodb-stream-lambda-lambda-stream - AWS 솔루션 구성체

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

AWS-Dynamodb-stream-lambda-lambda-stream

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

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

언어 패키지
Python
aws_solutions_constructs.aws_dynamodb_stream_lambda
타이프 스크립트
@aws-solutions-constructs/aws-dynamodb-stream-lambda
Java
software.amazon.awsconstructs.services.dynamodbstreamlambda

Overview

이 AWS 솔루션 구성은 최소한의 권한으로 AWS Lambda 함수를 호출하기 위한 스트림이 있는 Amazon DynamoDB 테이블 패턴을 구현합니다.

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

import { DynamoDBStreamToLambdaProps, DynamoDBStreamToLambda} from '@aws-solutions-constructs/aws-dynamodb-stream-lambda'; new DynamoDBStreamToLambda(this, 'test-dynamodb-stream-lambda', { lambdaFunctionProps: { runtime: lambda.Runtime.NODEJS_14_X, // This assumes a handler function in lib/lambda/index.js code: lambda.Code.fromAsset(`${__dirname}/lambda`), handler: 'index.handler' }, });

Initializer

new DynamoDBStreamToLambda(scope: Construct, id: string, props: DynamoDBStreamToLambdaProps);

파라미터

패턴 구성 소품

이름 유형 설명
이미 람다오브? lambda.Function Lambda 함수 객체의 기존 인스턴스, 이 및lambdaFunctionProps오류가 발생합니다.
람다기능소품? lambda.FunctionProps Lambda 함수의 기본 속성을 재정의하는 선택적 사용자 제공 속성입니다. 의 경우에는 무시됩니다.existingLambdaObj제공될 예정입니다.
다이나모테이블소품? dynamodb.TableProps DynamoDB 테이블의 기본 소품을 무시하기 위한 선택적 사용자가 제공한 소품
기존 테이블오브J? dynamodb.Table DynamoDB 테이블 객체의 기존 인스턴스로, 이 인스턴스와dynamoTableProps오류가 발생합니다.
다이나모이벤트소품? aws-lambda-event-sources.DynamoEventSourceProps DynamoDB 이벤트 소스의 기본 소품을 재정의할 수 있는 선택적 사용자 제공 소품

패턴 속성

이름 유형 설명
다이나모터블 dynamodb.Table 패턴에 의해 생성된 DynamoDB 테이블의 인스턴스를 반환합니다.
lambdaFunction lambda.Function 패턴에 의해 생성 된 Lambda 함수의 인스턴스를 돌려줍니다.

Lambda 함수

이 패턴을 사용하려면 DynamoDB 스트림에서 Elasticsearch 서비스에 데이터를 게시할 수 있는 Lambda 함수가 필요합니다. 샘플 함수가 제공됩니다.여기에서.

기본 설정

재정의없이이 패턴을 즉시 구현하면 다음과 같은 기본값이 설정됩니다.

Amazon DynamoDB 테이블

  • DynamoDB 테이블의 결제 모드를 온 디맨드 (요청당 지불) 로 설정합니다.

  • AWS 관리형 KMS 키를 사용하여 DynamoDB 테이블에 대한 서버 측 암호화 활성화

  • DynamoDB 테이블에 대해 'id'라는 파티션 키를 생성합니다.

  • CloudFormation 스택을 삭제할 때 테이블 유지

  • 지속적인 백업 및 지정 시간 복구

AWS Lambda 함수

  • Lambda 용 제한된 권한 액세스 IAM 역할 구성

  • NodeJS Lambda 함수에 대한 연결 유지로 연결 재사용 활성화

  • X-Ray 추적 사용

  • 실패 처리 기능 사용: 함수 오류 시 이분절 사용, 기본 최대 레코드 사용 기간 (24시간) 설정, 기본 최대 재시도 횟수 (500) 설정, 실패 시 SQS 데드 레터 큐를 대상으로 배포

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

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

Architecture

GitHub

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