amazon-web-services - 使用 SAM 将 s3 事件触发器添加到我的 lambda 函数时遇到问题

标签 amazon-web-services amazon-s3 aws-lambda aws-cloudformation aws-serverless

当图像添加到 s3 存储桶中的“文件夹”时,我试图让 lambda 运行。这是模板

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: 1. Creates the S# bucket that sotres the images from the camera.\n
             2. Resizes the images when a new image shows up from a camera.\n
             3. Adds a record of the image in the DB.

Globals:
  Function:
    Timeout: 10

Parameters:
  DeploymentStage:
    Type: String
    Default: production

Resources:
  CameraImagesBucket:
    Type: 'AWS::S3::Bucket'
    Properties:
      BucketName: !Sub
        - com.wastack.camera.images.${stage}
        - { stage: !Ref DeploymentStage }

  CreateThumbnailFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: image_resize/
      Handler: app.lambda_handler
      Runtime: python3.8
      Description: Creates a thumbnail of images in the camare_images bucket
      Policies:
        - S3ReadPolicy:
            BucketName: !Sub
              - com.wastack.camera.images.${stage}
              - { stage: !Ref DeploymentStage }
        - S3WritePolicy:
            BucketName: !Sub
              - com.wastack.camera.images.${stage}
              - { stage: !Ref DeploymentStage }
      Events:
        CameraImageEvent:
          Type: S3
          Properties:
            Bucket:
              Ref: CameraImagesBucket
            Events:
              - 's3:ObjectCreated:*'
            Filter:
              S3Key:
                Rules:
                  - Name: prefix
                    Value: camera_images

当我查看在 AWS 控制台上创建的 lambda 时,即使在 lambda 可视化器中也看不到触发器。 lambda 事件没有附加 s3 读取和写入策略。

已创建 s3 存储桶和 lambda,但未创建应连接它们的策略和触发器。

运行sam deploy时没有收到任何错误

问题:为什么它没有将 s3 触发事件或 s3 访问策略附加到 lambda 函数?

最佳答案

Policies for s3所以模板很简单。如果您将完整的模板放入其中,它会起作用吗?如果这也失败,请检查您运行 SAM 的权限。另外还有一张开放票:github ,这似乎是你的问题。查看评论。

关于amazon-web-services - 使用 SAM 将 s3 事件触发器添加到我的 lambda 函数时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64886371/

相关文章:

amazon-web-services - 如何在cloudformation中有条件地创建s3存储桶?

java - 如何将图像流式传输到 Amazon S3

python - 从 Python 脚本执行 Julia 文件

ruby-on-rails - Elastic Beanstalk,Bundler 找不到 gem "bundler"的兼容版本

objective-c - 使用 https Amazon AWS 上传图像时出现证书错误

amazon-web-services - AWS CloudFormation 映射区域之间的不同环境

python-3.x - AWS Lambda Python - 返回 BytesIO 文件?

amazon-web-services - AWS Config - 资源发现停留在 "Your resources are being discovered"

amazon-s3 - 如何使用 aws cli 在区域之间进行 S3 复制?

amazon-web-services - 如何从API网关异步调用Lambda?