DVAAWSのサービスを使用した開発

Step Functionsのステートマシンで外部APIを呼び出すタスクがある。このAPIは一時的なレート制限エラー(States.TaskFailed)を返すことがある。最初の再試行まで1秒待機し、その後は待機時間を2倍ずつ増やして最大5回まで再試行し、それでも失敗した場合はエラーハンドリングステートに移行させたい。ASL(Amazon States Language:ステートマシン定義言語)の正しい設定の組み合わせはどれか?

A
Retryに{ErrorEquals:[States.TaskFailed], IntervalSeconds:1, MaxAttempts:5, BackoffRate:2}を設定し、CatchにErrorEquals:[States.ALL]とNextを設定する
✓ 正解
Step Functions ASLのRetryフィールドの正しい属性名はErrorEquals(対象エラー)、IntervalSeconds(初回待機秒数)、MaxAttempts(最大試行回数)、BackoffRate(待機時間の倍率)です。Catchフィールドで全エラーをキャッチする場合はStates.ALLを使い、Nextで遷移先ステートを指定します。
B
Retryに{ErrorEquals:[States.TaskFailed], WaitSeconds:1, RetryCount:5, Multiplier:2}を設定し、OnFailureにエラーハンドリングステートを設定する
WaitSeconds、RetryCount、Multiplierなどは存在しない属性名であり、OnFailureはフィールドとして存在しません。
C
Retryに{ErrorType:TaskFailed, InitialDelay:1, MaxRetries:5, DelayMultiplier:2}を設定し、CatchにErrorType:[ALL]とNextを設定する
ErrorType、InitialDelay、MaxRetries、DelayMultiplierなどは存在しない属性名です。
D
ErrorHandlerに{Errors:[States.TaskFailed], BackoffStart:1, Attempts:5, Backoff:exponential}を設定し、FallbackStateにエラーハンドリングステートを設定する
ErrorHandler、BackoffStart、Attempts、FallbackStateなどはASLには存在しないフィールドです。

解説

Step Functions ASLのRetryフィールドの正しい属性名はErrorEquals(対象エラー)、IntervalSeconds(初回待機秒数)、MaxAttempts(最大試行回数)、BackoffRate(待機時間の倍率)です。Catchフィールドで全エラーをキャッチする場合はStates.ALLを使い、Nextで遷移先ステートを指定します。 選択肢BのWaitSeconds、RetryCount、Multiplierなどは存在しない属性名であり、OnFailureはフィールドとして存在しません。 選択肢CのErrorType、InitialDelay、MaxRetries、DelayMultiplierなどは存在しない属性名です。 選択肢DのErrorHandler、BackoffStart、Attempts、FallbackStateなどはASLには存在しないフィールドです。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
DVA の問題一覧に戻る