Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Struktur mesin status
Mesin status ditentukan menggunakan teks JSON yang menunjukkan struktur yang berisi bidang-bidang berikut.
-
Comment
(Opsional) -
Deskripsi tentang mesin status yang dapat dibaca manusia.
-
StartAt
(Wajib) -
String yang harus sama persis (bersifat peka huruf besar kecil) dengan nama salah satu objek status.
TimeoutSeconds
(Opsional)-
Jumlah detik maksimum eksekusi mesin status dapat berjalan. Jika berjalan lebih lama dari waktu yang ditentukan, eksekusi gagal dengan
States.Timeout
Nama kesalahan. -
Version
(Opsional) -
Versi Amazon States Language yang digunakan dalam mesin status (default adalah "1.0").
-
States
(Wajib) -
Objek yang berisi set status yang dibatasi koma.
Bidang States
berisi Status.
{
"State1" : {
},
"State2" : {
},
...
}
Mesin status ditentukan oleh status yang dimilikinya dan hubungan diantaranya.
Berikut adalah contohnya.
{
"Comment": "A Hello World example of the Amazon States Language using a Pass state",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Pass",
"Result": "Hello World!",
"End": true
}
}
}
Ketika eksekusi mesin status ini diluncurkan, sistem dimulai dengan status yang direferensikan dalam bidang StartAt
("HelloWorld"
). Jika status ini memiliki bidang "End": true
, eksekusi berhenti dan mengembalikan hasilnya. Jika tidak, sistem mencari bidang "Next":
dan berlanjut dengan status berikutnya. Proses ini berulang sampi sistem mencapai status terminal (status dengan "Type": "Succeed"
, "Type": "Fail"
, atau"End": true
), atau terjadi kesalahan waktu aktif.
Aturan berikut berlaku untuk status dalam mesin status:
-
Status dapat muncul dalam urutan apa pun dalam blok terlampir, tetapi urutan daftarnya tidak memengaruhi urutan status berjalan. Isi status menentukan urutan ini.
-
Dalam mesin status, hanya ada satu status yang ditetapkan sebagai status
start
, yang ditetapkan oleh nilai bidangStartAt
dalam struktur tingkat atas. Status ini adalah salah satu yang dijalankan pertama ketika eksekusi dimulai. -
Setiap status dengan bidang
End
adalahtrue
dianggap sebagai statusend
(atauterminal
). Tergantung pada logika mesin status Anda—misalnya, jika mesin status Anda memiliki beberapa cabang eksekusi—Anda mungkin memiliki lebih dari satu statusend
. -
Jika mesin status Anda hanya terdiri dari satu status, maka dapat menjadi status
start
dan statusend
.