Which solution will meet these requirements MOST cost-effectively?
Configure an S3 event notification to invoke the Lambda function when a branch office uploads a sales report.
Create an AWS Step Functions state machine that invokes the Lambda function once each day at the predefined time.
Configure the Lambda function to run continuously and to begin analysis only at the predefined time each day.
Create an Amazon EventBridge scheduled rule that invokes the Lambda function once each day at the predefined time.
Explanations:
Configuring an S3 event notification to invoke the Lambda function will trigger the function each time a report is uploaded, which could happen multiple times a day. This does not meet the requirement of running the analysis once each day at a specific time.
Creating an AWS Step Functions state machine would introduce unnecessary complexity and cost. Step Functions are typically used for orchestrating workflows rather than simple scheduling tasks, making this option less cost-effective for the requirement of daily execution.
Configuring the Lambda function to run continuously is not feasible, as Lambda is not designed for continuous execution. Lambda functions are event-driven and charged based on execution time and resource usage, which would lead to increased costs without fulfilling the requirement of scheduled daily analysis.
Creating an Amazon EventBridge scheduled rule is the most cost-effective solution for the requirement. This option allows for invoking the Lambda function once each day at a predefined time without incurring costs for idle time, making it both efficient and aligned with the specified requirements.