Exam DOP-C01 All QuestionsBrowse all questions from this exam
Question 165

A company stores purchase history in an Amazon DynamoDB table. The company needs other workloads that run on AWS to react to data changes in the table.

The company has enabled a DynamoDB stream on the table. Three existing AWS Lambda functions have an event source mapping configured for the DynamoDB stream. The company's application developers plan to add other applications that will need to react to changes in the table. A DevOps engineer must design an architecture that will give the additional consumers this functionality.

Which solution will meet these requirements in the MOST operationally efficient way?

    Correct Answer: A

    Creating an Amazon EventBridge event bus allows for a scalable and efficient way to handle new consumers without modifying the existing infrastructure significantly. EventBridge can receive events directly from the new Lambda function that is already consuming from the DynamoDB stream, and new consumers can then simply subscribe to the EventBridge events. This setup reduces complexity and operational overhead, making it the most operationally efficient solution.

Discussion
Oleg_golOption: C

agree C https://aws.amazon.com/ru/blogs/database/dynamodb-streams-use-cases-and-design-patterns/

DimidrolOption: C

C for me

auxwwwOption: A

A - if order of delivery is not important. EventBus can archive events as well for replay C - Incorrect, You might as well enable Kinesis Streams On the Table instead. Sounds like an unnecessary engineering effort and twice the cost to have two streams - DDB Change Stream + Kinesis Data Stream

Dgix

A. Kinesis is not an option here.

n_d1Option: C

https://aws.amazon.com/ru/blogs/database/dynamodb-streams-use-cases-and-design-patterns/

DerekKeyOption: C

B - wrong - SQS has one tiem message delivery, once read by a customer it will not be available anymore

mrbig00

Wrong. The messages are still available after reading them (they do have a visibility timeout, though). But in order to disappear from the queue, they need to be deleted. Altogether, SQS is not the answer to this question.

BultiOption: C

C is a better option than A because it's more operationality efficient. Option B is wrong because EventBrige Bus doesn't have a persistent store whereas KDS does. So there won't be a loss of data.

saeidpOption: B

You don't need lambda to send data from streams to kinesis stream. It can be done automatically I go with B

saeidp

Only drawback with B is if an aplication process the event data then it will be deleted from the Queue

saeidp

because of this SQS is wrong in this scenario C is the correct answere