Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menangani kesalahan dalam alur kerja Step Functions
Semua status, kecuali Pass
dan Wait
status, dapat mengalami kesalahan runtime. Kesalahan dapat terjadi karena berbagai alasan, seperti berikut:
-
Masalah ketentuan mesin status (misalnya, tidak ada aturan yang cocok dalam status
Choice
) -
Kegagalan tugas (misalnya, pengecualian dalam suatu AWS Lambda fungsi)
-
Masalah transien (misalnya, peristiwa partisi jaringan)
Secara default, ketika status melaporkan kesalahan, AWS Step Functions menyebabkan eksekusi gagal sepenuhnya.
Tip
Untuk menerapkan contoh alur kerja yang menyertakan penanganan kesalahan ke Anda Akun AWS, lihat Penanganan Kesalahan
Nama kesalahan
Step Functions mengidentifikasi kesalahan dalam Bahasa Status Amazon menggunakan string peka huruf besar-kecil, yang dikenal sebagai nama kesalahan. Bahasa Status Amazon menentukan satu set string built-in yang menamai kesalahan terkenal, semua dimulai dengan prefiks States.
.
-
States.ALL
-
Sebuah wildcard yang cocok dengan nama kesalahan yang dikenal.
catatan
Jenis kesalahan ini tidak dapat menangkap jenis kesalahan
States.DataLimitExceeded
terminal dan jenis kesalahan runtime. Untuk informasi selengkapnya tentang jenis kesalahan ini, lihat States.DataLimitExceededdan States.Runtime. -
States.DataLimitExceeded
-
Dilaporkan karena kondisi berikut:
-
Ketika output konektor lebih besar dari kuota ukuran muatan.
-
Ketika output status lebih besar dari kuota ukuran muatan.
-
Ketika, setelah pengolahan
Parameters
, input status lebih besar dari kuota ukuran muatan.
Untuk informasi lebih lanjut tentang kuota, lihat Kuota layanan Step Functions.
catatan
Ini adalah kesalahan terminal yang tidak dapat ditangkap oleh jenis
States.ALL
kesalahan. -
States.ExceedToleratedFailureThreshold
Map
Status gagal karena jumlah item yang gagal melebihi ambang batas yang ditentukan dalam definisi mesin status. Untuk informasi selengkapnya, lihat Menyetel ambang kegagalan untuk status Peta Terdistribusi di Step Functions.-
States.HeartbeatTimeout
-
Sebuah
Task
negara gagal mengirim detak jantung untuk jangka waktu yang lebih lama dariHeartbeatSeconds
nilainya.catatan
Kesalahan ini hanya tersedia di dalam
Catch
danRetry
bidang. -
States.Http.Socket
-
Kesalahan ini terjadi ketika HTTP tugas berkali-kali setelah 60 detik. Lihat Kuota yang terkait dengan Tugas HTTP.
-
States.IntrinsicFailure
-
Nama kesalahan ini dicadangkan untuk penggunaan masa depan. Kesalahan pemrosesan fungsi intrinsik dilaporkan dengan nama
States.Runtime
kesalahan. States.ItemReaderFailed
Map
Status gagal karena tidak dapat membaca dari sumber item yang ditentukan diItemReader
bidang. Untuk informasi selengkapnya, lihatItemReader (Peta)
.-
States.NoChoiceMatched
-
Nama kesalahan ini dicadangkan untuk penggunaan masa depan. Jika tidak ada pilihan yang cocok, kesalahan dilaporkan dengan nama
States.Runtime
kesalahan. -
States.ParameterPathFailure
-
Nama kesalahan ini dicadangkan untuk penggunaan masa depan. Kesalahan pemrosesan parameter dilaporkan dengan nama
States.Runtime
kesalahan. -
States.Permissions
-
Task
Status gagal karena memiliki hak istimewa yang tidak memadai untuk menjalankan kode yang ditentukan. -
States.ResultPathMatchFailure
-
Step Functions gagal menerapkan
ResultPath
bidang status ke input status yang diterima. States.ResultWriterFailed
Map
Status gagal karena tidak dapat menulis hasil ke tujuan yang ditentukan diResultWriter
bidang. Untuk informasi selengkapnya, lihatResultWriter (Peta)
.States.Runtime
-
Eksekusi gagal karena beberapa pengecualian yang tidak dapat diproses. Seringkali ini disebabkan oleh kesalahan saat runtime, seperti mencoba menerapkan
InputPath
atauOutputPath
pada muatan nolJSON.States.Runtime
Kesalahan tidak dapat diambil kembali, dan akan selalu menyebabkan eksekusi gagal. Sebuah retry atau catch onStates.ALL
won't catchStates.Runtime
error. -
States.TaskFailed
-
Status
Task
gagal selama eksekusi. Ketika digunakan dalam coba lagi atau menangkap,States.TaskFailed
bertindak sebagai wildcard yang cocok dengan nama kesalahan yang diketahui kecuali untukStates.Timeout
. -
States.Timeout
-
Status
Task
berjalan lebih lama daripada nilaiTimeoutSeconds
, atau gagal untuk mengirim detak jantung untuk jangka waktu lebih lama dari nilaiHeartbeatSeconds
.Selain itu, jika mesin status berjalan lebih lama dari
TimeoutSeconds
nilai yang ditentukan, eksekusi gagal denganStates.Timeout
kesalahan.
Status dapat melaporkan kesalahan dengan nama lain. Namun, nama kesalahan ini tidak dapat dimulai dengan States.
awalan.
Sebagai praktik terbaik, pastikan kode produksi dapat menangani pengecualian AWS Lambda layanan (Lambda.ServiceException
danLambda.SdkClientException
). Untuk informasi selengkapnya, lihat Menangani pengecualian layanan Lambda sementara.
catatan
Kesalahan tidak tertangani di Lambda dilaporkan sebagai Lambda.Unknown
dalam output kesalahan. Ini termasuk out-of-memory kesalahan dan batas waktu fungsi. Anda dapat mencocokkan di Lambda.Unknown
, States.ALL
, atau States.TaskFailed
untuk menangani kesalahan ini. Ketika Lambda mencapai jumlah maksimum permintaan, kesalahannya adalah Lambda.TooManyRequestsException
. Untuk informasi lebih lanjut tentang kesalahan Handled
dan Unhandled
Lambda, lihat FunctionError
dalam Panduan Developer AWS Lambda.
Mencoba kembali setelah kesalahan
Task
,Parallel
, dan Map
status dapat memiliki bidang bernamaRetry
, yang nilainya harus berupa array objek yang dikenal sebagai retrier. Pencoba ulang individu mewakili sejumlah percobaan kembali, biasanya pada interval waktu yang meningkat.
Ketika salah satu status ini melaporkan kesalahan dan ada Retry
bidang, Step Functions memindai melalui retrier dalam urutan yang tercantum dalam array. Ketika nama kesalahan muncul di nilai ErrorEquals
bidang retrier, mesin status melakukan upaya coba lagi seperti yang didefinisikan di Retry
bidang.
Jika redriven eksekusi menjalankan ulang statusStatus alur kerja tugas,Status alur kerja paralel, atau Peta Sebaris, yang telah Anda tetapkan percobaan ulang, jumlah upaya coba lagi untuk status ini diatur ulang ke 0 untuk memungkinkan jumlah upaya maksimum redrive. Untuk a redriven eksekusi, Anda dapat melacak upaya percobaan ulang individual dari status ini menggunakan konsol. Untuk informasi selengkapnya, lihat Coba lagi perilaku redriven eksekusi di Memulai ulang eksekusi mesin negara dengan redrive di Step Functions.
Retrier berisi bidang-bidang berikut:
catatan
Percobaan ulang diperlakukan sebagai transisi status. Untuk informasi tentang cara transisi status mempengaruhi penagihan, lihat Harga Step Functions
-
ErrorEquals
(Wajib) -
Sebuah array string nonkosong yang cocok dengan nama kesalahan. Ketika status melaporkan kesalahan, Step Functions memindai melalui retrier. Ketika nama kesalahan muncul dalam array ini, array menerapkan kebijakan coba lagi yang dijelaskan dalam retier ini.
-
IntervalSeconds
(Opsional) -
Sebuah bilangan bulat positif yang mewakili jumlah detik sebelum percobaan ulang pertama (secara
1
default).IntervalSeconds
memiliki nilai maksimum 99999999. -
MaxAttempts
(Opsional) -
Sebuah bilangan bulat positif yang mewakili jumlah maksimum percobaan coba lagi (
3
secara default). Jika kesalahan berulang kali lebih dari yang ditentukan, percobaan ulang berhenti dan penanganan kesalahan normal dilanjutkan. Nilai0
menentukan bahwa kesalahan tidak pernah dicoba lagi.MaxAttempts
memiliki nilai maksimum 99999999. -
BackoffRate
(Opsional) -
Pengganda dimana interval coba lagi dilambangkan dengan
IntervalSeconds
peningkatan setelah setiap upaya coba lagi. Secara default,BackoffRate
nilainya meningkat sebesar2.0
.Misalnya, katakanlah Anda
IntervalSeconds
adalah 3,MaxAttempts
adalah 3, danBackoffRate
2. Upaya coba lagi pertama dilakukan tiga detik setelah kesalahan terjadi. Percobaan kedua berlangsung enam detik setelah upaya coba lagi pertama. Sedangkan percobaan ulang ketiga berlangsung 12 detik setelah upaya coba lagi kedua. -
MaxDelaySeconds
(Opsional) -
Bilangan bulat positif yang menetapkan nilai maksimum, dalam hitungan detik, hingga interval coba lagi dapat meningkat. Bidang ini berguna untuk digunakan dengan
BackoffRate
bidang. Nilai yang Anda tentukan di bidang ini membatasi waktu tunggu eksponensial yang dihasilkan dari pengganda tingkat backoff yang diterapkan pada setiap upaya percobaan ulang berturut-turut. Anda harus menentukan nilai yang lebih besar dari 0 dan kurang dari 31622401 untuk.MaxDelaySeconds
Jika Anda tidak menentukan nilai ini, Step Functions tidak membatasi waktu tunggu antara percobaan ulang.
-
JitterStrategy
(Opsional) -
String yang menentukan apakah akan menyertakan jitter dalam waktu tunggu antara upaya coba lagi berturut-turut. Jitter mengurangi upaya percobaan ulang simultan dengan menyebarkannya melalui interval penundaan acak. String ini menerima
FULL
atauNONE
sebagai nilainya. Nilai default-nya adalahNONE
.Misalnya, Anda telah menetapkan
MaxAttempts
sebagai 3,IntervalSeconds
sebagai 2, danBackoffRate
sebagai 2. Upaya coba lagi pertama dilakukan dua detik setelah kesalahan terjadi. Percobaan kedua berlangsung empat detik setelah percobaan ulang pertama dan percobaan ulang ketiga berlangsung delapan detik setelah upaya coba lagi kedua. Jika Anda menetapkanJitterStrategy
sebagaiFULL
, interval coba ulang pertama diacak antara 0 dan 2 detik, interval coba lagi kedua diacak antara 0 dan 4 detik, dan interval coba ulang ketiga diacak antara 0 dan 8 detik.
Coba lagi contoh bidang
Bagian ini mencakup contoh Retry
bidang berikut.
Tip
Untuk menerapkan contoh alur kerja penanganan kesalahan ke Anda Akun AWS, lihat modul Penanganan Kesalahan
Contoh 1 — Coba lagi dengan BackoffRate
Contoh berikut ini Retry
membuat dua percobaan lagi dengan percobaan ulang pertama terjadi setelah menunggu selama tiga detik. Berdasarkan yang BackoffRate
Anda tentukan, Step Functions meningkatkan interval antara setiap percobaan ulang hingga jumlah maksimum percobaan ulang tercapai. Dalam contoh berikut, upaya coba lagi kedua dimulai setelah menunggu selama tiga detik setelah percobaan ulang pertama.
"Retry": [ {
"ErrorEquals": [ "States.Timeout" ],
"IntervalSeconds": 3,
"MaxAttempts": 2,
"BackoffRate": 1
} ]
Contoh 2 — Coba lagi dengan MaxDelaySeconds
Contoh berikut membuat tiga upaya coba lagi dan membatasi waktu tunggu yang dihasilkan dari BackoffRate
5 detik. Coba lagi pertama dilakukan setelah menunggu selama tiga detik. Upaya coba lagi kedua dan ketiga terjadi setelah menunggu selama lima detik setelah upaya coba lagi sebelumnya karena batas waktu tunggu maksimum yang ditetapkan oleh. MaxDelaySeconds
"Retry": [ {
"ErrorEquals": [ "States.Timeout" ],
"IntervalSeconds": 3,
"MaxAttempts": 3,
"BackoffRate":2,
"MaxDelaySeconds": 5,
"JitterStrategy": "FULL"
} ]
TanpaMaxDelaySeconds
, upaya coba lagi kedua akan berlangsung enam detik setelah percobaan ulang pertama, dan upaya coba lagi ketiga akan berlangsung 12 detik setelah percobaan ulang kedua.
Contoh 3 - Coba lagi semua kesalahan kecuali States.Timeout
Nama terpesan States.ALL
yang muncul di bidang ErrorEquals
adalah wildcard yang cocok dengan setiap nama kesalahan. Ini harus muncul sendirian di array ErrorEquals
dan harus muncul dalam retrier terakhir di array Retry
. Nama States.TaskFailed
juga bertindak wildcard dan cocok dengan kesalahan kecuali untukStates.Timeout
.
Contoh Retry
bidang berikut mencoba ulang kesalahan apa pun kecualiStates.Timeout
.
"Retry": [ {
"ErrorEquals": [ "States.Timeout" ],
"MaxAttempts": 0
}, {
"ErrorEquals": [ "States.ALL" ]
} ]
Contoh 4 - Skenario coba lagi yang kompleks
Parameter retrier A ini berlaku di semua kunjungan ke retrier dalam konteks eksekusi status tunggal.
Pertimbangkan status Task
berikut.
"X": {
"Type": "Task",
"Resource": "arn:aws:states:us-east-1:123456789012:task:X",
"Next": "Y",
"Retry": [ {
"ErrorEquals": [ "ErrorA", "ErrorB" ],
"IntervalSeconds": 1,
"BackoffRate": 2.0,
"MaxAttempts": 2
}, {
"ErrorEquals": [ "ErrorC" ],
"IntervalSeconds": 5
} ],
"Catch": [ {
"ErrorEquals": [ "States.ALL" ],
"Next": "Z"
} ]
}
Tugas ini gagal empat kali berturut-turut, mengeluarkan nama kesalahan ini:ErrorA
,, ErrorB
ErrorC
, dan. ErrorB
Berikut ini terjadi sebagai hasilnya:
-
Dua kesalahan pertama cocok dengan retrier pertama dan menyebabkan menunggu satu dan dua detik.
-
Kesalahan ketiga cocok dengan retrier kedua dan menyebabkan menunggu lima detik.
-
Kesalahan keempat juga cocok dengan retrier pertama. Namun, itu sudah mencapai maksimum dua percobaan ulang (
MaxAttempts
) untuk kesalahan tertentu. Oleh karena itu, retrier itu gagal dan eksekusi mengalihkan alur kerja keZ
status melalui bidang.Catch
Status fallback
Task
, Map
dan Parallel
negara masing-masing dapat memiliki bidang bernamaCatch
. Nilai bidang ini harus berupa array obyek, yang dikenal sebagai penangkap.
Penangkap berisi bidang berikut.
-
ErrorEquals
(Wajib) -
Sebuah array string non-kosong yang cocok dengan nama kesalahan, ditentukan persis seperti mereka dengan bidang retrier dengan nama yang sama.
-
Next
(Wajib) -
Sebuah string yang harus sama persis dengan salah satu nama status mesin status.
-
ResultPath
(Opsional) -
Jalur yang menentukan input apa yang dikirimkan oleh penangkap ke status yang ditentukan di
Next
bidang.
Ketika status melaporkan kesalahan dan tidak ada bidang Retry
, atau jika mencoba ulang gagal untuk menyelesaikan kesalahan, Step Functions memindai penangkap dalam urutan yang tercantum dalam array. Ketika nama kesalahan muncul dalam nilai bidang ErrorEquals
penangkap, mesin status bertransisi ke status bernama dalam bidang Next
.
Nama terpesan States.ALL
yang muncul di bidang ErrorEquals
penangkap adalah wildcard yang cocok dengan nama kesalahan. Ini harus muncul sendirian di array ErrorEquals
dan harus muncul di penangkap terakhir di array Catch
. Nama States.TaskFailed
juga bertindak wildcard dan cocok dengan kesalahan kecuali untuk States.Timeout
.
Contoh berikut dari bidang transisi Catch
ke status bernama RecoveryState
ketika fungsi Lambda meng-output pengecualian Java yang tidak tertangani. Jika tidak, bidang bertransisi ke status EndState
.
"Catch": [ {
"ErrorEquals": [ "java.lang.Exception" ],
"ResultPath": "$.error-info",
"Next": "RecoveryState"
}, {
"ErrorEquals": [ "States.ALL" ],
"Next": "EndState"
} ]
catatan
Setiap penangkap dapat menentukan beberapa kesalahan untuk menangani.
Output kesalahan
Ketika Step Functions bertransisi ke status yang ditentukan dalam nama penangkapan, objek biasanya berisi bidang Cause
. Nilai bidang ini adalah deskripsi yang dapat dibaca manusia dari kesalahan. Objek ini dikenal sebagai output kesalahan.
Dalam contoh ini, penangkap pertama berisi bidang ResultPath
. Ini bekerja sama dengan ResultPath
di tingkat atas status, menghasilkan dua kemungkinan:
-
Dibutuhkan hasil eksekusi negara itu dan menimpa semua, atau sebagian, masukan negara.
-
Dibutuhkan hasil dan menambahkannya ke input. Dalam kasus kesalahan yang ditangani oleh penangkap, hasil eksekusi status adalah output kesalahan.
Jadi, untuk penangkap pertama dalam contoh, penangkap menambahkan output kesalahan ke input sebagai bidang bernama error-info
jika belum ada bidang dengan nama ini di input. Kemudian, penangkap mengirimkan seluruh input keRecoveryState
. Untuk penangkap kedua, output kesalahan menimpa input dan penangkap hanya mengirimkan output kesalahan ke. EndState
catatan
Jika Anda tidak menentukan bidang ResultPath
, bidang tersebut default ke $
, yang memilih dan menimpa seluruh input.
Ketika status memiliki keduanya Retry
dan Catch
bidang, Step Functions menggunakan retrier yang sesuai terlebih dahulu. Jika kebijakan coba lagi gagal menyelesaikan kesalahan, Step Functions akan menerapkan transisi penangkap yang cocok.
Muatan penyebab dan integrasi layanan
Sebuah penangkap mengembalikan muatan string sebagai output. Saat bekerja dengan integrasi layanan seperti Amazon Athena AWS CodeBuild atau, Anda mungkin ingin mengonversi Cause
string ke. JSON Contoh berikut dari Pass
keadaan dengan fungsi intrinsik menunjukkan bagaimana untuk mengkonversi Cause
string ke. JSON
"Handle escaped JSON with JSONtoString": {
"Type": "Pass",
"Parameters": {
"Cause.$": "States.StringToJson($.Cause)"
},
"Next": "Pass State with Pass Processing"
},
Nyatakan contoh mesin menggunakan Coba Ulang dan menggunakan Catch
Mesin-mesin status yang ditentukan dalam contoh berikut memakai dua fungsi Lambda: salah satu yang selalu gagal dan satu yang menunggu cukup lama untuk mengizinkan batas waktu yang ditentukan dalam mesin status terjadi.
Ini adalah definisi dari fungsi Lambda Node.js yang selalu gagal, mengembalikan pesan. error
Dalam contoh mesin status yang mengikuti, fungsi Lambda ini bernama FailFunction
. Untuk informasi tentang membuat fungsi Lambda, lihat Langkah 1: Membuat fungsi Lambda bagian.
exports.handler = (event, context, callback) => {
callback("error");
};
Ini adalah definisi dari fungsi Lambda Node.js yang tidur selama 10 detik. Dalam contoh mesin status yang mengikuti, fungsi Lambda ini bernama sleep10
.
catatan
Bila Anda membuat fungsi Lambda ini di konsol Lambda, ingat untuk mengubah nilai Waktu habis dalam bagian Pengaturan lanjutan dari 3 detik (default) hingga 11 detik.
exports.handler = (event, context, callback) => {
setTimeout(function(){
}, 11000);
};
Menangani kegagalan menggunakan Coba Lagi
Mesin status ini menggunakan Retry
untuk mencoba kembali fungsi yang gagal dan output nama kesalahan HandledError
. Ini mencoba ulang fungsi ini dua kali dengan backoff eksponensial antara percobaan ulang.
{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:123456789012:function:FailFunction",
"Retry": [ {
"ErrorEquals": ["HandledError"],
"IntervalSeconds": 1,
"MaxAttempts": 2,
"BackoffRate": 2.0
} ],
"End": true
}
}
}
Varian ini menggunakan kode kesalahan yang telah ditentukan States.TaskFailed
, yang cocok dengan kesalahan yang fungsi Lambda output.
{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:123456789012:function:FailFunction",
"Retry": [ {
"ErrorEquals": ["States.TaskFailed"],
"IntervalSeconds": 1,
"MaxAttempts": 2,
"BackoffRate": 2.0
} ],
"End": true
}
}
}
catatan
Sebagai praktik terbaik, tugas-tugas yang referensi fungsi Lambda harus menangani pengecualian layanan Lambda. Untuk informasi selengkapnya, lihat Menangani pengecualian layanan Lambda sementara.
Menangani kegagalan menggunakan Catch
Contoh ini menggunakan bidang Catch
. Ketika fungsi Lambda mengeluarkan kesalahan, ia menangkap kesalahan dan mesin status bertransisi ke status. fallback
{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:123456789012:function:FailFunction",
"Catch": [ {
"ErrorEquals": ["HandledError"],
"Next": "fallback"
} ],
"End": true
},
"fallback": {
"Type": "Pass",
"Result": "Hello, AWS Step Functions!",
"End": true
}
}
}
Varian ini menggunakan kode kesalahan yang telah ditetapkan States.TaskFailed
, yang cocok dengan kesalahan yang fungsi Lambda output.
{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:123456789012:function:FailFunction",
"Catch": [ {
"ErrorEquals": ["States.TaskFailed"],
"Next": "fallback"
} ],
"End": true
},
"fallback": {
"Type": "Pass",
"Result": "Hello, AWS Step Functions!",
"End": true
}
}
}
Menangani batas waktu menggunakan Retry
Mesin status ini menggunakan Retry
bidang untuk mencoba kembali Task
status yang habis waktu, berdasarkan nilai batas waktu yang ditentukan dalam. TimeoutSeconds
Step Functions mencoba ulang pemanggilan fungsi Lambda dalam status Task
ini dua kali, dengan backoff eksponensial di antara percobaan ulang.
{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:123456789012:function:sleep10",
"TimeoutSeconds": 2,
"Retry": [ {
"ErrorEquals": ["States.Timeout"],
"IntervalSeconds": 1,
"MaxAttempts": 2,
"BackoffRate": 2.0
} ],
"End": true
}
}
}
Menangani batas waktu menggunakan Catch
Contoh ini menggunakan bidang Catch
. Ketika batas waktu terjadi, mesin status bertransisi ke status fallback
.
{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:123456789012:function:sleep10",
"TimeoutSeconds": 2,
"Catch": [ {
"ErrorEquals": ["States.Timeout"],
"Next": "fallback"
} ],
"End": true
},
"fallback": {
"Type": "Pass",
"Result": "Hello, AWS Step Functions!",
"End": true
}
}
}
catatan
Anda dapat mempertahankan input status dan kesalahan dengan menggunakan ResultPath
. Lihat Gunakan ResultPath untuk memasukkan kesalahan dan masukan dalam Catch.