title: process files put into s3 bucket in AWS lambda in the order in which they were put
body: <p>My current workflow is as follows:</p>
  
  <p>User drops file into s3 bucket -> s3 bucket triggers event to lambda -> lambda processes the file in s3 bucket. It also invokes other lambdas.</p>
  
  <p>I want to handle the scenario where multiple users will drop files in the s3 bucket simultaneously. I want to process the files such that the file put first gets processed first. To handle this, I want the lambda to process each file in a gap of 15 minutes (for example). </p>
  
  <p>So, I want to use SQS to queue the input file drop events. S3 can trigger an event to SQS. A cloudwatch event can trigger a lambda in every 15 minutes, and the lambda can poll the SQS queue for the first s3 file drop event, and process it. </p>
  
  <p>The problem with SQS is that Standard SQS queues do not adhere to order, and FIFO SQS queues are not compatible with S3 (Ref: <a href="https://stackoverflow.com/questions/41383699/error-setting-up-notifications-from-s3-bucket-to-fifo-sqs-queue-due-to-required">Error setting up notifications from S3 bucket to FIFO SQS queue due to required &quot;.fifo&quot; suffix</a>)</p>
  
  <p>What approach should I use to solve this problem?</p>
  
  <p>Thanks,</p>
  
  <p>Swagatika</p>