AWS Lambda
Guia do desenvolvedor

Modelo do AWS SAM para um aplicativo do Kinesis

Você pode criar esse aplicativo usando AWS SAM. Para saber mais sobre como criar modelos do AWS SAM, consulte Noções básicas de modelo do AWS SAM no Guia do desenvolvedor do Modelo de aplicativo sem servidor da AWS.

Veja abaixo um modelo de exemplo do AWS SAM para o aplicativo do Lambda do tutorial. A função e o manipulador no modelo são para o código Node.js. Se você usar um exemplo de código diferente, atualize os valores adequadamente.

exemplo template.yaml – Kinesis Stream

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

O modelo cria uma função do Lambda, um fluxo do Kinesis e um mapeamento da fonte do evento. O mapeamento da fonte do evento lê o fluxo e invoca a função.

Para usar um consumidor de fluxo HTTP/2, crie o consumidor no modelo e configurar o mapeamento da fonte do evento para ler a partir do consumidor, e não do fluxo.

exemplo template.yaml – Consumidor do Kinesis Stream

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 obter informações sobre como empacotar e implantar seu aplicativo sem servidor usando os comandos de empacotamento e implantação, consulte Implantação de aplicativos sem servidor no Guia do desenvolvedor do Modelo de aplicativo sem servidor da AWS.