AWS SAM YAML Файл не может ссылаться на существующую корзину для события S3 - PullRequest
1 голос
/ 05 февраля 2020

Вариант использования: при создании события S3 для лямбда-функции в файле SAM YAML обратитесь к существующему сегменту

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: Sample SAM Template for sam-app

Globals:
    Function:
        Timeout: 900
        MemorySize: 2048
        Environment: 
          Variables:
            TABLE_NAME: "111"
            ENDPOINT_OVERRIDE: "222"

Resources:
  SomePull:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: target/demo-1.0.0.jar
      Handler: com.xxxx.run.LambdaFunctionHandler::handleRequest
      Runtime: java8
      Role: arn:aws:iam::aaaa:roaaaale/aaaa/lambdaExecution
      events:
          bucket: codedeploytestxxx
          event: s3:ObjectCreated:*
          rules:
            - prefix: uploads
            - suffix: .jpg
          existing: true

Ссылка: https://github.com/serverless/serverless/pull/6290

Я попробовал несколько подходов, но все же я не могу сослаться на существующую корзину при создании события, какие конфигурации я пропускаю из вышеперечисленного.

Ошибка, которую я получаю после выполнения вышеуказанного сценария:

Invalid. property events not defined for resource of type AWS::Serverless::Function

1 Ответ

3 голосов
/ 05 февраля 2020

Это запрос на получение от стороннего Serverless Framework , в то время как вы используете AWS Модель без сервера приложений (SAM)


Свойства чувствительны к регистру:

AWS::Serverless::Function документация

AWS::Serverless::Function.Events документация

AWS::Serverless::Function S3 Event документация


Преобразование этого раздела в AWS Синтаксис модели приложения без сервера (SAM) приводит к этой ошибке:

Resources:
  SomePull:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: target/demo-1.0.0.jar
      Handler: com.xxxx.run.LambdaFunctionHandler::handleRequest
      Runtime: java8
      Role: arn:aws:iam::aaaa:roaaaale/aaaa/lambdaExecution
      Events:
        Event1:
          Type: S3
          Properties:
            Bucket: codedeploytestxxx
            Events: s3:ObjectCreated:*
            Filter:
              S3Key:
                Rules:
                - Name: prefix
                  Value: uploads
                - Name: suffix
                  Value: .jpg
[cfn-lint] E0001: Error transforming template: Resource with id [SomePull] is invalid. Event with id [Event1] is invalid. S3 events must reference an S3 bucket in the same template.

AWS В безсерверной модели приложения (SAM) возникла проблема со ссылкой на существующую корзину S3 здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...