【发布时间】:2021-07-08 15:46:54
【问题描述】:
我正在尝试使用无服务器框架创建在现有 S3 存储桶上的文件上传时触发的 AWS Lambda。
我设法部署了 Lambda,但无法通过在我现有的 S3 存储桶上上传来触发它。
我很清楚
-
existing参数存在于serverless.yml:
functions:
copyToBufferS3:
handler: handler.copy_to_buffer_s3
description: Copies newly uploaded technical logs to a buffer S3 bucket
events:
- s3:
bucket: my.bucket.name
event: s3:ObjectCreated:*
rules:
- suffix: suffix.ext
existing: true
- 这样的参数会创建另一个名为
<service name>-<stage>-custom-resource-existing-s3的 lambda:我可以在控制台中看到它(所以existing参数及其部分实际上已被考虑在内,耶!) -
serverless.yml中缩进的重要性:我仔细检查了- s3部分下的参数是 4 个空格缩进
问题是:这两个 lambda 表达式都没有触发器集。
我应该如何编辑我的 serverless.yml(或其他内容)以在文件上传时真正触发我的 lambda?
【问题讨论】:
-
你查看自定义资源的日志了吗?
-
@Maurice 你这是什么意思?在 CloudFormation 控制台中我新创建的堆栈的“事件”部分中,除了“CREATE_IN_PROGRESS”、“UPDATE_COMPLETE”、“UPDATE_COMPLETE_CLEANUP_IN_PROGRESS”和“UPDATE_COMPLETE”之外什么都没有。
-
自定义资源是 Lambda 函数,通常配置为记录到 CloudWatch ;-)
标签: amazon-s3 aws-lambda triggers serverless-framework