amazon-web-services - AWS SAM 模板 : Issue mapping S3 events to Lambda

标签 amazon-web-services amazon-s3 aws-lambda aws-sam aws-sam-cli

我已按照 AWS SAM 文档获取实践学习经验,并已到达此特定部分:https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-s3.html

文档中的上页解释了如何将 S3 事件映射到任何资源,我已经在本地计算机上完成了类似的操作。下面是我的本地模板。

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
  CreateThumbnail:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: hello_world/
      Handler: app.lambda_handler
      Runtime: python3.6
      Timeout: 60
      Policies: AWSLambdaExecute
      Events:
        CreateThumbnailEvent:
          Type: S3
          Properties:
            Bucket: !Ref testBucket
            Events: s3:ObjectCreated:*

  testBucket:
    Type: AWS::S3::Bucket

现在,当我构建和部署上述 SAM 模板时,在创建新的 S3 存储桶时,“对象创建”事件不会映射到创建的 Lambda 函数。 PSB 截图。

Screenshot showing that S3 events are not mapped

我还没有找到任何关于此错误的文章或博客(可能,我在这里犯了一个愚蠢的错误)

请帮忙。

谢谢。

最佳答案

我意识到,由于某种原因,AWS Lambda 控制台没有显示触发事件,但映射成功。我还通过将示例图像上传到触发 lambda 的存储桶进行了验证。

事件映射可以在创建的 S3 存储桶的属性部分中看到。

已创建 S3 测试存储桶 -> 属性 -> 事件

S3 bucket properties showing the created events

关于amazon-web-services - AWS SAM 模板 : Issue mapping S3 events to Lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61093736/

相关文章:

javascript - 即使文件具有私有(private)访问权限,也可以查看 s3 中的文件

python-3.x - AWS Lambda,将 S3 文件保存到/tmp 目录

aws-lambda - 无服务器框架 - 用于预定义 Cloud Front 分发的 Lambda@Edge 部署

node.js - 如何从 Node.js 连接到 Amazon DocumentDB

amazon-web-services - aws s3 存储桶未显示在 Web 控制台上

python - 从 S3 下载透明背景文件

aws-lambda - AWS Cloudformation SAM 文件 - 如何拆分为许多较小的文件?

amazon-web-services - 作为 Cloudformation 的一部分,将文件从代码库上传到 S3

amazon-web-services - 如何从 kubernetes 的前端调用 spring api

database - 如何将oracle rds数据库迁移到rds中的mariadb