Obsługa błędów i ponowienia w maszynach stanów
Twórz niezawodne przepływy pracy. Poznaj pola Retry i Catch w Step Functions, wykładniczy backoff oraz kierowanie awarii do stanów fallback.
Obsługa błędów i ponowienia w maszynach stanów to bezpłatna lekcja Serverless Backend with AWS Lambda & API Gateway na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Serverless Backend with AWS Lambda & API Gateway, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Serverless Backend with AWS Lambda & API Gateway zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
Failures Happen in Workflows
A Step Functions workflow chains many tasks. Any task can fail — a timeout, a throttle, or a thrown error. Built-in error handling lets the state machine recover instead of crashing.
Error Names
Step Functions classifies errors with names like States.Timeout, States.TaskFailed, and States.ALL. Your custom Lambda errors appear by their error name too.
The Retry Field
A Retry array on a Task state automatically re-runs it on matching errors.
"Retry": [{
"ErrorEquals": ["States.TaskFailed"],
"MaxAttempts": 3
}]Exponential Backoff
Use IntervalSeconds and BackoffRate so each retry waits longer, easing pressure on a struggling downstream service.
"Retry": [{
"ErrorEquals": ["States.ALL"],
"IntervalSeconds": 2,
"BackoffRate": 2.0,
"MaxAttempts": 4
}]The Catch Field
When retries are exhausted, a Catch block routes the workflow to a fallback state instead of failing the whole execution.
"Catch": [{
"ErrorEquals": ["States.ALL"],
"Next": "NotifyFailure"
}]Capturing the Error
Use ResultPath in a Catch to pass the error details into the next state, so your fallback can log or react to what went wrong.
"Catch": [{
"ErrorEquals": ["States.ALL"],
"ResultPath": "$.error",
"Next": "HandleError"
}]Ordering Retry Rules
List more specific errors first. Step Functions evaluates Retry/Catch entries top to bottom, so a broad States.ALL should come last.
Timeouts as Safety Nets
Set TimeoutSeconds on a Task so a hung activity throws States.Timeout instead of running forever, which your Retry can then handle.
Fallback States
A fallback can be a Fail state that ends the execution with a clear cause, or a compensating action that undoes earlier work (the saga pattern).
Express vs Standard Error Behavior
Standard workflows keep full execution history for debugging failures; Express workflows are faster and cheaper but log to CloudWatch. Choose based on how you need to trace errors.
Designing Resilient Workflows
Combine the tools:
- Retry transient errors with backoff
- Catch terminal errors to a fallback
- Set timeouts as safety nets
- Capture error details with ResultPath
Quick Check
Test your Step Functions error-handling knowledge.
Recap
You learned resilient workflows:
- Retry re-runs tasks on matching error names
- IntervalSeconds and BackoffRate give exponential backoff
- Catch routes exhausted errors to a fallback state
- ResultPath captures the error; timeouts prevent hangs
Ucz się Serverless Backend with AWS Lambda & API Gateway dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 12
- Lekcje
- 48
Często zadawane pytania
Czy lekcja „Obsługa błędów i ponowienia w maszynach stanów” jest bezpłatna?
Tak — pełny tekst „Obsługa błędów i ponowienia w maszynach stanów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Serverless Backend with AWS Lambda & API Gateway, przejdź na CoddyKit PRO. Kurs Serverless Backend with AWS Lambda & API Gateway zawiera 4 lekcji w sumie.
Co nauczysz się w „Obsługa błędów i ponowienia w maszynach stanów”?
Twórz niezawodne przepływy pracy. Poznaj pola Retry i Catch w Step Functions, wykładniczy backoff oraz kierowanie awarii do stanów fallback. Ćwiczysz Serverless Backend with AWS Lambda & API Gateway z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Serverless Backend with AWS Lambda & API Gateway?
Nie wymagamy żadnego doświadczenia. Serverless Backend with AWS Lambda & API Gateway w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Obsługa błędów i ponowienia w maszynach stanów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Serverless Backend with AWS Lambda & API Gateway?
Tak. Każda lekcja Serverless Backend with AWS Lambda & API Gateway zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Wprowadzenie do AWS Step Functions
- Budowanie maszyn stanów
- Orkiestracja złożonych przepływów pracy
- Obsługa błędów i ponowienia w maszynach stanów