Amazon web services 如何配置AWS SQS队列以侦听已创建的S3 bucket';s事件
我有aws S3 bucket,它是由aws控制台创建的。现在,我想部署AWS SQS队列,用Serverless框架监听bucket的对象创建事件 有人能解释一下如何完成这项任务吗 以下是我的yml文件的相关部分:Amazon web services 如何配置AWS SQS队列以侦听已创建的S3 bucket';s事件,amazon-web-services,amazon-s3,amazon-sqs,Amazon Web Services,Amazon S3,Amazon Sqs,我有aws S3 bucket,它是由aws控制台创建的。现在,我想部署AWS SQS队列,用Serverless框架监听bucket的对象创建事件 有人能解释一下如何完成这项任务吗 以下是我的yml文件的相关部分: ...... iamRoleStatements: - Effect: Allow Action: - sqs:* Resource: - "*" ...... resources: Resources:
......
iamRoleStatements:
- Effect: Allow
Action:
- sqs:*
Resource:
- "*"
......
resources:
Resources:
PDFConverterQueue:
Type: "AWS::SQS::Queue"
Properties:
QueueName: "PDFConverterQueue"
#### How can I configure this Queue to listen to previously created bucket's events.
.....
让S3事件直接调用Lambda可能会更成功。S3请求是异步的,在出现故障时具有指数重试策略
functions:
pdfConverter:
handler: handler.pdfconverted
events:
- s3:
bucket: pdftoconvert
event: s3:ObjectCreated:*
existing: true
不需要SQS队列,这样可以节省一些资源。谢谢您的回答。但在我的例子中,转换器部署在服务器(EC2)上。它不能处理太多的并行进程。这就是为什么我选择SQS来保存事件,直到其他事件被转换器成功处理。@lahirudx那么我建议您在S3和SQS之间添加一个Lambda。通过这种方式,Lambda接收S3请求,将其格式化为SQS,并在其中发布详细信息。没有直接将事件S3发送给SQS的方法吗。我已经通过控制台完成了。但我想用无服务器部署它。