Find answers, ask questions, and connect with our
community around the world.

Home Forums AWS AWS Certified Solutions Architect Professional Review Mode Set 2 Question 5 Question

  • Review Mode Set 2 Question 5 Question

  • SalientListener

    Member
    June 21, 2024 at 3:29 am

    An electric utility company deploys smart meters for its customers to easily track their electricity usage. Each smart meter sends data every five minutes to an Amazon API Gateway which is then processed by several AWS Lambda functions before storing to an Amazon DynamoDB table. The Lambda functions take about 5 to 10 seconds to process the data based on the initial deployment testing. As the company’s customer base grew, the solutions architect noticed that the Lambda functions are now taking 60 to 90 seconds to complete the processing. New metrics are also collected from the smart meters which further increased the processing time. Errors began showing when running the Lambda function such as Too Many Requests & Provisioned Throughput Exceeded error when performing PUT operation on the DynamoDB table.

    (Select TWO)

    The WCU Answer is correct.

    The other answers stated is :

    Process the data in batches to avoid reaching the write limits to the DynamoDB table. Group the requests from API Gateway by streaming the data into an Amazon Kinesis data stream.

    So how did you arrive at “Group the requests from API Gateway by streaming data into Kinesis?” : I read the AWS documentationwhere they explain API Gateway can PROXY to Kinesis PutRecord/PutRecords. But given the question that Smart Meters are calling API Gateway DIRECTLY this implies each Meter can publish their single record – there would be no POSSIBLE way for API to group records from multiple smart meters in order to group records together to call PutRecords rather than PutRecord. I dont believe API Gateway has intelligence to group separate independent calls from clients into a single PutRecords operation to Kinesis.

  • Neil-TutorialsDojo

    Member
    June 27, 2024 at 10:25 am

    Hi Salient Liestener,

    Good Day! Thank you for posting here.

    Yes, that’s correct API Gateway alone is not enough to group individual calls. That is why it needs the Kinesis Data Stream. The API Gateway individually sends the data into the Kinesis data stream, and the Kinesis data stream groups them. The Lambda function is then triggered asynchronously by the Kinesis Data Stream, allowing for batched processing of the data, which helps distribute the load and reduce the processing time.

    I hope this clarifies your question. If you have more clarification, pls let us know.

    Regards,
    Neil @ Tutorials Dojo

Viewing 1 - 2 of 2 replies

Log in to reply.

Original Post
0 of 0 posts June 2018
Now