gpt4 book ai didi

amazon-web-services - 如何使用无服务器框架在AWS Lambda函数上添加S3触发事件?

转载 作者:行者123 更新时间:2023-12-04 08:12:09 24 4
gpt4 key购买 nike

我想在已经存在的存储桶上的Lambda函数上添加触发事件,为此,我正在使用以下配置:

 events:
- s3:
bucket: serverlesstest
event: s3:ObjectCreated:*
rules:
- prefix: uploads/
- suffix: .pdf

S3上已经存在bucket serverlesstest的位置。

此配置引发错误:

An error occurred while provisioning your stack: S3BucketServerlesstest - serverlesstest already exists.



如何使用Serverless Framework解决此错误?

最佳答案

由于CloudFormation的行为,目前在核心框架中无法实现。也许。

但是您可以使用此插件。

https://github.com/matt-filion/serverless-external-s3-event

通过npm install serverless-plugin-existing-s3安装serverless-plugin-existing-s3之后。

并将插件添加到serverless.yml

plugins:
serverless-plugin-existing-s3

授予您的访问权限以访问存储桶。
provider:
name: aws
runtime: nodejs4.3
iamRoleStatements:
...
- Effect: "Allow"
Action:
- "s3:PutBucketNotification"
Resource:
Fn::Join:
- ""
- - "arn:aws:s3:::BUCKET_NAME or *"

并使用 existingS3事件,而不仅仅是 s3
functions:
someFunction:
handler: index.handler
events:
- existingS3:
bucket: BUCKET_NAME
events:
- s3:ObjectCreated:*
rules:
- prefix: images/
- suffix: .jpg

sls deploy命令之后,
您可以使用 sls s3deploy命令附加事件。

功能提案

它将在将来的某一天添加​​。

https://github.com/serverless/serverless/issues/4241

关于amazon-web-services - 如何使用无服务器框架在AWS Lambda函数上添加S3触发事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44818114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com