exam questions

Exam AWS Certified Data Engineer - Associate DEA-C01 All Questions

View all questions & answers for the AWS Certified Data Engineer - Associate DEA-C01 exam

Exam AWS Certified Data Engineer - Associate DEA-C01 topic 1 question 14 discussion

A company loads transaction data for each day into Amazon Redshift tables at the end of each day. The company wants to have the ability to track which tables have been loaded and which tables still need to be loaded.
A data engineer wants to store the load statuses of Redshift tables in an Amazon DynamoDB table. The data engineer creates an AWS Lambda function to publish the details of the load statuses to DynamoDB.
How should the data engineer invoke the Lambda function to write load statuses to the DynamoDB table?

  • A. Use a second Lambda function to invoke the first Lambda function based on Amazon CloudWatch events.
  • B. Use the Amazon Redshift Data API to publish an event to Amazon EventBridge. Configure an EventBridge rule to invoke the Lambda function.
  • C. Use the Amazon Redshift Data API to publish a message to an Amazon Simple Queue Service (Amazon SQS) queue. Configure the SQS queue to invoke the Lambda function.
  • D. Use a second Lambda function to invoke the first Lambda function based on AWS CloudTrail events.
Show Suggested Answer Hide Answer
Suggested Answer: B 🗳️

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
milofficial
Highly Voted 1 year, 5 months ago
Selected Answer: B
https://docs.aws.amazon.com/redshift/latest/mgmt/data-api-monitoring-events.html
upvoted 14 times
...
TonyStark0122
Highly Voted 1 year, 4 months ago
The most appropriate way for the data engineer to invoke the Lambda function to write load statuses to the DynamoDB table is: B. Use the Amazon Redshift Data API to publish an event to Amazon EventBridge. Configure an EventBridge rule to invoke the Lambda function. Explanation: Option B leverages the Amazon Redshift Data API to publish events to Amazon EventBridge, which provides a serverless event bus service for handling events across AWS services. By configuring an EventBridge rule to invoke the Lambda function in response to events published by the Redshift Data API, the data engineer can ensure that the Lambda function is triggered whenever there is a new transaction data load in Amazon Redshift. This approach offers a straightforward and scalable solution for tracking table load statuses without relying on additional Lambda functions or services.
upvoted 10 times
...
MephiboshethGumani
Most Recent 1 month, 2 weeks ago
Selected Answer: B
Here's why Option B is best: Amazon Redshift Data API can be used by applications and scripts to interact with Redshift (e.g., run SQL queries, check load status). Amazon EventBridge can receive custom events or service-generated events and route them to targets like Lambda. This approach decouples the data load process from status logging, using EventBridge as a clean integration point. EventBridge rule can filter and trigger the Lambda function when Redshift (or your data pipeline) signals a successful data load.
upvoted 1 times
...
MephiboshethGumani
3 months, 2 weeks ago
Selected Answer: B
the data engineer should use Amazon EventBridge (formerly CloudWatch Events) to trigger the Lambda function based on a schedule or events that correspond to the completion of the data load process in Amazon Redshift.
upvoted 1 times
...
altonh
6 months, 3 weeks ago
Selected Answer: D
The statement in B is inaccurate. You don't 'use Amazon Redshift Data API to publish' event to EventBridge. Redshift Data API has no function to write to EventBridge. Instead, the statement should be "Use EventBridge to monitor Data API events..." Perhaps this is a typo. But if I assume there are no typos in all the statements, then I would go for D. Although not a perfect solution, the cloud trail events have more info than the Redshift Data API events.
upvoted 2 times
...
taxo
10 months, 1 week ago
This job doesn’t need a real time check
upvoted 1 times
...
John2025
1 year ago
Why not used SQS to keep API change in the Queue ?
upvoted 2 times
...
pypelyncar
1 year ago
Im not 100% sure of B or C, this is a tricky question. The reason is due to either SQS or EventBridge has not direct connection natively speaking to Redshift Data API. There is no way to publish events by itself. So, this means either SQS / EventBridge eventually need a "proxy" (e.g lambda function) in order to publish events or process events to this 2 sources. In both services we need something to publish those events from Redshift. so Yes, we need a lamda function between Redshift Data API and (SQS|EB). so either B,C doesnt seem to be 100% right. I think this question its a good candidate to be "Choose two options" but none has 100% right. Both are valid considering that there is an adapter function between 2 solutions.
upvoted 1 times
San_Juan
10 months, 1 week ago
It seems that Redshift Data API could directly publishing events in EventBridge (see first comment). For monitoring the Redshift Data API, you could use both EventBridge (near-real-time) or CloudTrail (stored in S3): https://docs.aws.amazon.com/redshift/latest/mgmt/data-api-monitoring.html But both services are related to "Data API" not Redshift database itself. So it is really tricky.
upvoted 1 times
San_Juan
10 months, 1 week ago
So, you could use the Redshift table STV_LOAD_STATE, https://docs.aws.amazon.com/redshift/latest/dg/r_STV_LOAD_STATE.html and running a "select" query on that table for getting status of tables (filtering by timestamp) and add the result to EventBridge, applying a rule on those events to invoke the lambda function. I guess that B is the most appropiate answer.
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 ...