exam questions

Exam AWS Certified Solutions Architect - Professional SAP-C02 All Questions

View all questions & answers for the AWS Certified Solutions Architect - Professional SAP-C02 exam

Exam AWS Certified Solutions Architect - Professional SAP-C02 topic 1 question 166 discussion

A delivery company is running a serverless solution in the AWS Cloud. The solution manages user data, delivery information, and past purchase details. The solution consists of several microservices. The central user service stores sensitive data in an Amazon DynamoDB table. Several of the other microservices store a copy of parts of the sensitive data in different storage services.

The company needs the ability to delete user information upon request. As soon as the central user service deletes a user, every other microservice must also delete its copy of the data immediately.

Which solution will meet these requirements?

  • A. Activate DynamoDB Streams on the DynamoDB table. Create an AWS Lambda trigger for the DynamoDB stream that will post events about user deletion in an Amazon Simple Queue Service (Amazon SQS) queue. Configure each microservice to poll the queue and delete the user from the DynamoDB table.
  • B. Set up DynamoDB event notifications on the DynamoDB table. Create an Amazon Simple Notification Service (Amazon SNS) topic as a target for the DynamoDB event notification. Configure each microservice to subscribe to the SNS topic and to delete the user from the DynamoDB table.
  • C. Configure the central user service to post an event on a custom Amazon EventBridge event bus when the company deletes a user. Create an EventBridge rule for each microservice to match the user deletion event pattern and invoke logic in the microservice to delete the user from the DynamoDB table.
  • D. Configure the central user service to post a message on an Amazon Simple Queue Service (Amazon SQS) queue when the company deletes a user. Configure each microservice to create an event filter on the SQS queue and to delete the user from the DynamoDB table.
Show Suggested Answer Hide Answer
Suggested Answer: C 🗳️

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
Untamables
Highly Voted 2 years, 2 months ago
Selected Answer: A
The trigger is that the central user service deletes a user in the DynamoDB table. The DynamoDB Streams meets the requirement. https://aws.amazon.com/blogs/database/how-to-perform-ordered-data-replication-between-applications-by-using-amazon-dynamodb-streams/ Option B is wrong. There is no feature named DynamoDB event notifications.
upvoted 17 times
Amac1979
2 years, 1 month ago
Correct, the point they want to make is central user service is system of record. You should not be deleting from other services until you delete from DynamoDB.
upvoted 1 times
...
kjcncjek
1 year, 8 months ago
how can you use 1 sqs queue for all microservises?
upvoted 3 times
jainparag1
1 year, 5 months ago
You can have many consumers which means any of the consumers can receive and process the message.
upvoted 5 times
...
...
...
CloudFloater
Highly Voted 2 years, 2 months ago
Selected Answer: C
C seems correct; SQS is one queue to one microservice, could not find anything on dynamodb event notifications.
upvoted 17 times
...
juanife
Most Recent 2 months, 1 week ago
it is MUCH MORE faster to send the event through eventbridge to microservices once the event of deletion needs to happen. I first read option A and thought it was the right one but have the microservices polling SQS QUEUE is less performant than the other one. AND it's impossible for SQS to have multiple consumers as this is not the main purpose of this service, this is not a fan-out architecture with SQS and SNS. Totally sure that C is the correct answer, I repeat, I thought it was A but it's not.
upvoted 1 times
...
chris_spencer
6 months, 2 weeks ago
Selected Answer: C
C, The problem with A the SQS solution ist that the "other microservices which stores data chunks seperatly". We do not know how many services are storing the userdata, and with SQS we would have one message on the queue which is processed by one of these microservices. how could the other microservices know that they have to delete the data when the message is allready consumed and processed?
upvoted 1 times
...
ry1999
7 months, 3 weeks ago
Selected Answer: C
SQS does not have a fan-out capability. You need SNS --> SQS to achieve the microservices to be notified. Hence A is incorrect and C is correct.
upvoted 3 times
...
Dgix
1 year, 1 month ago
Selected Answer: C
A is not viable since SQS is not used in a fan-out situation. B is not viable since there's no such thing as "DynamoDB event notifications". C is viable. D is not viable, again due to the fact that SQS is not used for fan-out.
upvoted 4 times
...
career360guru
1 year, 4 months ago
Selected Answer: C
This is tricky question. C seems to be best and feasible. Rest options are not correct as they are using SQS where messages can be delivered only to one reader while in this scenario there are multiple microservices that needs to read the same message and delete the user information.
upvoted 4 times
...
CProgrammer
1 year, 4 months ago
Lets Ignore the insanity of Several other microservices store in ---- different storage services. ------ central user service deletes a user, every other microservice must also delete its copy of the data immediately. YET ALL the options attempt a delete in the OG DynamoDB Yeah OK Whatever Blue is green and Red is Orange these days. BTW ans. == C , A will work but why poll SQS when Evt Brdg can invoke Microservice. Personally I'd invoke a lambda to delete related records from the disparate data sources per KeyId and not bother the services but I'm not Architecting this mess maybe they want a clean log trail of the delete process as invoked by central user service whatever
upvoted 4 times
dankositzke
1 year, 2 months ago
Agreed. If this is an actual exam question, I am concerned about the intellect of the exam writers.
upvoted 4 times
...
...
Bad_Mat
1 year, 4 months ago
I vote for C because the question says: Delete the user IMMEDIATELY A and D use SQS and messages in SQS can stay a pretty long time
upvoted 3 times
...
jainparag1
1 year, 5 months ago
Selected Answer: C
Amazon FSx for Lustre is a fully managed service that provides cost-effective, high-performance, scalable storage for compute workloads. Powered by Lustre, the world's most popular high-performance file system, FSx for Lustre offers shared storage with sub-ms latencies, up to terabytes per second of throughput, and millions of IOPS. FSx for Lustre file systems can also be linked to Amazon Simple Storage Service (S3) buckets, allowing you to access and process data concurrently from both a high-performance file system and from the S3 API.
upvoted 1 times
jainparag1
1 year, 5 months ago
this is for Q165,
upvoted 2 times
...
...
career360guru
1 year, 5 months ago
Selected Answer: C
Option C
upvoted 1 times
...
vjp_training
1 year, 7 months ago
Selected Answer: A
https://aws.amazon.com/vi/getting-started/hands-on/send-fanout-event-notifications/?nc1=f_ls
upvoted 2 times
...
Ganshank
1 year, 8 months ago
A real-world use case utterly destroyed with some of the worst possible options for solutions. Simplest solution is to have the interested parties consume events off the DynamoDB streams and delete the user information in their respective datastores. Too many red herrings in the options given, and the only relatively sane one of the lot is Option C. The bar for coming up with questions with SA professional keeps getting lowered.
upvoted 4 times
...
SK_Tyagi
1 year, 8 months ago
Selected Answer: A
Event trigger from DynamoDb -- Choose DynamoDb Streams
upvoted 2 times
...
xav1er
1 year, 8 months ago
Where the hell is fan-out pattern? stupid answers ...
upvoted 3 times
...
aviathor
1 year, 8 months ago
* The central user service stores sensitive data in an Amazon DynamoDB table. * Several of the other microservices store a copy of parts of the sensitive data in different storage services. Apparently only the central user service stores user data in DynamoDB. The others use "different storage services". Yet, all of the answers focus on DynamoDB...
upvoted 1 times
...
NikkyDicky
1 year, 9 months ago
Selected Answer: C
C A would be preferable with SNS instead of SQS
upvoted 2 times
aviathor
1 year, 8 months ago
Can you seriously mean one should "Create an EventBridge rule for each microservice to match the user deletion event pattern and invoke logic in the microservice to delete the user from the DynamoDB table."??? Why not SQS?
upvoted 2 times
kjcncjek
1 year, 8 months ago
it should be SQSs but all answers indicates only 1 queue
upvoted 1 times
...
aviathor
1 year, 8 months ago
Instead of configuring multiple EventBridge rules, there could be multiple SQS streams :)
upvoted 1 times
...
...
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...
exam
Someone Bought Contributor Access for:
SY0-701
London, 1 minute ago