AWS Certified Solutions Architect – Professional — Question 824
A company has automated the nightly retraining of its machine learning models by using AWS Step Functions. The workflow consists of multiple steps that use
AWS Lambda. Each step can fail for various reasons, and any failure causes a failure of the overall workflow.
A review reveals that the retraining has failed multiple nights in a row without the company noticing the failure. A solutions architect needs to improve the workflow so that notifications are sent for all types of failures in the retraining process.
Which combination of steps should the solutions architect take to meet these requirements? (Choose three.)
Answer options
- A. Create an Amazon Simple Notification Service (Amazon SNS) topic with a subscription of type "Email" that targets the team's mailing list.
- B. Create a task named "Email" that forwards the input arguments to the SNS topic.
- C. Add a Catch field to all Task, Map, and Parallel states that have a statement of "ErrorEquals": [ "States.ALL" ] and "Next": "Email".
- D. Add a new email address to Amazon Simple Email Service (Amazon SES). Verify the email address.
- E. Create a task named "Email" that forwards the input arguments to the SES email address.
- F. Add a Catch field to all Task, Map, and Parallel states that have a statement of "ErrorEquals": [ "States.Runtime" ] and "Next": "Email".
Correct answer: A, B, C
Explanation
To catch any failure in AWS Step Functions, a Catch block specifying 'States.ALL' must be added to all Task, Map, and Parallel states, routing the workflow to a fallback 'Email' task. This task publishes the error details to an Amazon SNS topic, which then distributes notifications to the team's email subscription. Using Amazon SES is unnecessarily complex for simple alerts, and catching only 'States.Runtime' would fail to capture other error types.