Читання потоку з DynamoDB лямбда-функцією, оголошеною з використанням SAM

Приклад читання потоку з DynamoDB лямбда-функцією, оголошеною у файлі template.yaml вашої конфігурації SAM

YourLambdaFunction:
    Type: AWS::Serverless::Function
    Properties:
      Description: Description of your function
      Runtime: nodejs16.x
      Architectures:
        - x86_64
      Handler: index.handler
      Events:
        Stream:
          Type: DynamoDB
          Properties:
            Stream: !GetAtt YourDynamoDbResourceName.StreamArn
            BatchSize: 1
            MaximumRetryAttempts: 3
            DestinationConfig:
              OnFailure:
                Destination: !GetAtt YourSQSResourceName.Arn
            StartingPosition: TRIM_HORIZON
      MemorySize: 128
      Timeout: 100

За допомогою цього прикладу ваша лямбда-функція буде виконуватися динамічно, коли в потоці DynamoDB з'являтимуться нові повідомлення. На випадок виникнення помилки, в цьому прикладі передбачено 3 повторні спроби. Якщо жодна з них не була успішною, Lambda передасть ваше повідомлення до вказаної черги SQS.

Схема створення ресурсу таблиці DynamoDB з використанням SAMСхема створення ресурсу черги SQS з використанням SAM

Детальніше про доступні властивості для створення лямбда-функції можна прочитати тут. Я використовую документацію з CDK, так як не знайшов пов'язаних з SAM ресурсів.

Last updated