Modelo do AWS SAM para uma aplicação do Kinesis - AWS Lambda

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Modelo do AWS SAM para uma aplicação 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 modelos do AWS SAM no Guia do desenvolvedor do AWS Serverless Application Model.

Veja abaixo um modelo de exemplo do AWS SAM para a aplicação 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 – stream do 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

O modelo cria uma função do Lambda, uma transmissão do Kinesis e um mapeamento de fontes de eventos. 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 stream do 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 obter informações sobre como empacotar e implantar o aplicativo sem servidor usando os comandos de empacotamento e implantação, consulte Implantar aplicativos sem servidor no Guia do desenvolvedor do AWS Serverless Application Model.