Plantilla de AWS SAM para una aplicación de Kinesis - AWS Lambda

Plantilla de AWS SAM para una aplicación de Kinesis

Puede construir esta aplicación utilizando AWS SAM. Para obtener más información sobre la creación de plantillas AWS SAM, diríjase a Aspectos básicos sobre plantillas AWS SAM en la Guía para desarrolladores de Modelo de aplicación sin servidor de AWS.

A continuación, hay una plantilla AWS SAM de muestra para la aplicación de Lambda del tutorial. La función y controlador de la plantilla corresponden al código de Node.js. Si utiliza un código de muestra diferente, actualice los valores en consecuencia.

ejemplo template.yaml: flujo de Kinesis

AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Resources: LambdaFunction: Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: nodejs12.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

La plantilla crea una función de Lambda, un flujo de Kinesis y un mapeo de origen de eventos. El mapeo de origen de eventos lee del flujo e invoca la función.

Para utilizar un consumidor de flujos HTTP/2, cree el consumidor en la plantilla y configure el mapeo de origen de eventos para que lea del consumidor en lugar de leer del flujo.

ejemplo template.yaml: consumidor de flujos de 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

Para obtener más información sobre cómo empaquetar e implementar una aplicación sin servidor usando los comandos de empaquetado e implementación, consulte Implementación de aplicaciones sin servidor en la Guía para desarrolladores de Modelo de aplicación sin servidor de AWS.