如何从SQS触发器获取单个记录?

时间:2019-05-17 05:02:09

标签: aws-lambda amazon-sqs

我们要一次获取所有记录sqs事件触发器,如何获取或限制触发器一次仅获取一个?

public class sqslambda implements RequestHandler<SQSEvent, Void> {
  @Override
  public Void handleRequest(SQSEvent event, Context context) {
    try {
      for (SQSEvent.SQSMessage message : event.getRecords()) {

       String input = message.getBody();

      }
    } catch (Exception ex) {
      logger.error("Exception handling batch seed request.", ex);
      throw ex;
    }
    return null;
  }
  ...
}

1 个答案:

答案 0 :(得分:0)

您使用事件源映射告诉Lambda将项目从Amazon SQS队列发送到AWS Lambda函数。

作为此配置的一部分,您可以定义批量大小,该大小指定“将立即从队列中读取的最大记录数”。

因此,您应该转到Lambda函数,单击 SQS触发器,然后将“批量大小”设置为1。

另请参阅:Using AWS Lambda with Amazon SQS