当图像添加到 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/