首页 > 解决方案 > 如何配置 AWS SQS 队列以侦听已创建的 S3 存储桶的事件

问题描述

我有由 aws 控制台创建的 aws S3 存储桶。现在我想部署 AWS SQS Queue 以使用无服务器框架侦听该存储桶的对象创建事件

有人可以解释如何完成任务吗?

以下是我的yml文件的相关部分:

......

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.
.....

标签: amazon-web-servicesamazon-s3amazon-sqs

解决方案


如果让 S3 事件直接调用 Lambda,您可能会获得更好的成功。S3 请求是异步的,并且在失败的情况下具有指数重试策略。

functions:
  pdfConverter:
    handler: handler.pdfconverted
    events:
      - s3:
          bucket: pdftoconvert 
          event: s3:ObjectCreated:*
          existing: true

不需要 SQS 队列,因此您可以节省一些资源。


推荐阅读