Amazon web services 如何配置AWS SQS队列以侦听已创建的S3 bucket';s事件

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:

我有aws S3 bucket,它是由aws控制台创建的。现在,我想部署AWS SQS队列,用Serverless框架监听bucket的对象创建事件

有人能解释一下如何完成这项任务吗

以下是我的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.
.....

让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的方法吗。我已经通过控制台完成了。但我想用无服务器部署它。