Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyatakan struktur mesin di Amazon States Language untuk alur kerja Step Functions
Mesin negara didefinisikan menggunakan JSON teks yang mewakili struktur yang berisi 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
.
Bidang status umum dalam alur kerja
Bidang berikut adalah umum untuk semua elemen negara.
-
Type
(Wajib) -
Tipe status.
-
Next
-
Nama status berikutnya yang dijalankan ketika status saat ini selesai. Beberapa tipe status, seperti
Choice
, mengizinkan beberapa status transisi.Jika status saat ini adalah status terakhir dalam alur kerja Anda, atau status terminal, seperti Status alur kerja yang berhasil atauStatus alur kerja gagal, Anda tidak perlu menentukan
Next
bidang. -
End
-
Menunjuk status ini sebagai status terminal (mengakhiri eksekusi) jika diatur ke
true
. Jumlah status terminal per mesin status bisa berapa saja. Hanya satuNext
atauEnd
yang dapat digunakan dalam suatu status. Beberapa jenis status, sepertiChoice
, atau status terminal, seperti Status alur kerja yang berhasil danStatus alur kerja gagal, tidak mendukung atau menggunakanEnd
bidang. -
Comment
(Opsional) -
Menyediakan deskripsi tentang mesin status yang dapat dibaca manusia.
-
InputPath
(Opsional) -
Jalur yang memilih sebagian input status yang akan diteruskan ke tugas status untuk pemrosesan. Jika dihilangkan, jalur memiliki nilai
$
yang menunjuk seluruh input. Untuk informasi selengkapnya, lihat Pemrosesan Input dan Output. -
OutputPath
(Opsional) -
Path yang memilih sebagian dari output state yang akan diteruskan ke state berikutnya. Jika dihilangkan, ia memiliki nilai
$
yang menunjuk seluruh output. Untuk informasi selengkapnya, lihat Pemrosesan Input dan Output.