【问题标题】:SQS Trigger Lambda, with FileName in S3 for text extractionSQS 触发器 Lambda,在 S3 中使用 FileName 进行文本提取
【发布时间】:2019-10-10 13:11:45
【问题描述】:

我有一个用例,我有一个存储在 S3 Bucket 中的 pdf 文件列表,我已经列出它们并将它们推送到 SQS 以进行文本提取,通过提供存储桶信息和 AWS 的 TextExtraxtion 信息创建了一个 Lambda 来处理这些文件.

问题是,Lambda 正在超时,因为 SQS 会触发所有文件的多个 lambda 实例,并且所有文件都在等待文本提取服务。

Lambda 为所有 SQS 消息(文件名)一一触发,这样就不会发生超时,因为我们确实有访问 AWS TextExtract 的限制

【问题讨论】:

  • 每个 lambda 实例处理多少个文件?
  • 你的 lambda 超时时间是多少?
  • Lambda 超时我设置为 Max 15 分钟。
  • @Horatiu ,可能有100个或更多的文件需要处理,在sqs中提供文件名。
  • 您是否尝试将batch size 设置为1?见docs.aws.amazon.com/lambda/latest/dg/with-sqs.html

标签: amazon-web-services amazon-s3 text-extraction


【解决方案1】:

处理 100 多个文件是一项耗时的任务,我建议每次 Lambda 执行不超过 10 个文件。

将 SQS 与 Lambda 一起用作事件源。 https://dzone.com/articles/amazon-sqs-as-an-event-source-to-aws-lambda-a-deep

【讨论】:

  • 对于每个文件,都会创建一个 lambda 实例,因为我使用 sqs 来触发 lambda。我担心的是那些等待文本提取处理的 lambda。
  • 文本提取不应该占用那么多。文件有多大?
  • 文件可能达到 30 Mb 或更多
  • 可能会考虑每个 lambda 一个文件,甚至事先拆分该文件
  • 这就是我正在使用的,通过批量大小为 1,但仍然会创建多个 lambda 实例,它们会处理这些文件。
猜你喜欢
  • 2021-06-16
  • 1970-01-01
  • 2020-05-17
  • 1970-01-01
  • 2020-07-28
  • 2021-03-28
  • 2021-11-28
  • 2020-10-23
  • 2019-03-26
相关资源
最近更新 更多