使用SAM将s3事件触发器添加到lambda函数时出现问题



当图像被添加到";文件夹";在s3存储桶中。这是模板

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 bucket和lambda已经创建,但本应连接它们的策略和触发器并没有创建。

当我运行sam deploy时,我没有得到任何错误

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

s3的策略因此模板是直接的。如果你把完整的模板放在里面,它能工作吗。如果也失败了,请检查您运行SAM的权限。此外,github上有一个开放的票证,这似乎是您的问题。请参阅评论。

最新更新