Kinesis 애플리케이션을 위한 AWS SAM 템플릿 - AWS Lambda

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

Kinesis 애플리케이션을 위한 AWS SAM 템플릿

AWS SAM을(를) 사용하여 이 애플리케이션을 빌드할 수 있습니다. AWS SAM 템플릿을 생성하는 방법은 AWS SAM 개발자 안내서AWS Serverless Application Model 템플릿 기본 사항을 참조하세요.

다음은 자습서의 Lambda 애플리케이션을 위한 샘플 AWS SAM 템플릿입니다. 이 템플릿의 함수와 핸들러는 Node.js 코드용입니다. 다른 코드 샘플을 사용하는 경우 값을 적절히 업데이트하세요.

예 template.yaml - Kinesis 스트림
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Resources: LambdaFunction: Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: nodejs18.x Timeout: 10 Tracing: Active Events: Stream: Type: Kinesis Properties: Stream: !GetAtt stream.Arn BatchSize: 100 StartingPosition: LATEST stream: Type: AWS::Kinesis::Stream Properties: ShardCount: 1 Outputs: FunctionName: Description: "Function name" Value: !Ref LambdaFunction StreamARN: Description: "Stream ARN" Value: !GetAtt stream.Arn

템플릿에서 Lambda 함수, Kinesis 스트림, 이벤트 소스 매핑을 생성합니다. 이벤트 소스 매핑이 스트림에서 값을 읽고 함수를 호출합니다.

HTTP/2 스트림 소비자를 사용하려면 템플릿에서 소비자를 만들고, 스트림 대신 소비자에서 값을 읽도록 이벤트 소스 매핑을 구성합니다.

예 template.yaml - Kinesis 스트림 소비자
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: A function that processes data from a Kinesis stream. Resources: function: Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: nodejs12.x Timeout: 10 Tracing: Active Events: Stream: Type: Kinesis Properties: Stream: !GetAtt streamConsumer.ConsumerARN StartingPosition: LATEST BatchSize: 100 stream: Type: "AWS::Kinesis::Stream" Properties: ShardCount: 1 streamConsumer: Type: "AWS::Kinesis::StreamConsumer" Properties: StreamARN: !GetAtt stream.Arn ConsumerName: "TestConsumer" Outputs: FunctionName: Description: "Function name" Value: !Ref function StreamARN: Description: "Stream ARN" Value: !GetAtt stream.Arn ConsumerARN: Description: "Stream consumer ARN" Value: !GetAtt streamConsumer.ConsumerARN

패키지 및 배포 명령을 사용하여 서버리스 애플리케이션을 패키징하고 배포하는 방법은 AWS Serverless Application Model 개발자 안내서서버리스 애플리케이션 배포 단원을 참조하세요.