Which solution will meet these requirements with the LEAST operational overhead?
Configure DynamoDB Accelerator (DAX) to query for expired items based on the TTL. Save the results to Amazon S3.
Configure DynamoDB Streams to invoke an AWS Lambda function. Program the Lambda function to process the items and to store the expired items in Amazon S3.
Deploy a custom application on an Amazon Elastic Container Service (Amazon ECS) cluster on Amazon EC2 instances. Program the custom application to process the items and to store the expired items in Amazon S3.
Create an Amazon EventBridge rule to invoke an AWS Lambda function. Program the Lambda function to process the items and to store the expired items in Amazon S3.
Explanations:
DAX is used for caching and improving read performance, but it does not automatically handle the deletion or retrieval of expired items from DynamoDB. This option does not effectively address the requirement to transfer expired items to S3 since expired items are automatically deleted based on TTL and cannot be queried after deletion.
Using DynamoDB Streams allows for real-time processing of items that are deleted due to TTL expiration. When items expire and are deleted, DynamoDB Streams can trigger an AWS Lambda function, which can then process these items and store the results in S3, thus meeting the requirements with minimal operational overhead.
Deploying a custom application on Amazon ECS introduces significant operational overhead due to the need for managing and scaling the ECS cluster and EC2 instances. It is more complex and less efficient compared to using serverless options like Lambda. Additionally, it does not automatically handle the detection of expired items without implementing additional logic.
Although using EventBridge can trigger Lambda functions, it does not specifically handle expired items since it relies on events rather than directly monitoring the TTL attribute. Without integration with DynamoDB Streams or additional logic to check for expired items, this approach may not capture all expired items reliably.