Memilih jenis alur kerja di Step Functions - AWS Step Functions

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memilih jenis alur kerja di Step Functions

Saat Anda membuat mesin status, Anda memilih Jenis Standar atau Ekspres. Jenis default untuk mesin negara adalah Standar. Mesin negara yang Tipe Standar disebut alur kerja Standar dan mesin status yang Tipe Ekspres disebut alur kerja Ekspres.

Untuk alur kerja Standar dan Ekspres, Anda menentukan mesin status Anda menggunakan. Menggunakan Amazon States Language untuk menentukan alur kerja Step Functions Eksekusi mesin status Anda akan berperilaku berbeda tergantung pada Jenis yang Anda pilih.

penting

Jenis alur kerja yang Anda pilih tidak dapat diubah setelah Anda membuat mesin status.

Alur Kerja Standar dan Ekspres dapat dimulai secara otomatis sebagai respons terhadap peristiwa seperti HTTP permintaan dari Amazon API Gateway (dikelola sepenuhnya dalam skala besar), Aturan IoT, dan lebih dari 140 sumber peristiwa lainnya APIs di Amazon. EventBridge

Alur Kerja Standar ideal untuk alur kerja yang berjalan lama (hingga satu tahun), tahan lama, dan dapat diaudit. Anda dapat mengambil riwayat eksekusi lengkap menggunakan Step Functions API hingga 90 hari setelah eksekusi Anda selesai. Alur Kerja Standar mengikuti model yang tepat sekali, di mana tugas dan status Anda tidak pernah dijalankan lebih dari sekali, kecuali jika Anda telah menentukan perilaku. Retry ASL Hal ini membuat Alur Kerja Standar cocok untuk mengatur tindakan non-idempoten, seperti memulai klaster Amazon atau memproses pembayaran. EMR Eksekusi Alur Kerja Standar ditagih sesuai dengan jumlah transisi negara yang diproses.

Alur Kerja Ekspres ideal untuk beban kerja pemrosesan peristiwa bervolume tinggi seperti konsumsi data IoT, pemrosesan dan transformasi data streaming, dan backend aplikasi seluler. Alur Kerja Ekspres bisa berjalan hingga lima menit. Alur Kerja Ekspres menggunakan at-least-oncemodel, di mana eksekusi berpotensi berjalan lebih dari satu kali. Hal ini membuat Alur Kerja Express ideal untuk mengatur tindakan idempoten seperti mengubah data input dan menyimpan melalui tindakan di Amazon DynamoDB. PUT Eksekusi Alur Kerja Ekspres ditagih oleh jumlah eksekusi, total durasi eksekusi, dan memori yang dikonsumsi saat eksekusi dijalankan.

Tip

Untuk menerapkan contoh alur kerja Ekspres, lihat Status Paralel di AWS Step Functions Lokakarya.

Perbandingan tipe alur kerja Standar dan Ekspres

Tipe/Kategori Alur Kerja Standar Alur Kerja Ekspres: Sinkron dan Tidak Sinkron
Durasi maksimum Satu tahun Lima menit
Tingkat mulai eksekusi yang didukung

Untuk informasi tentang kuota yang terkait dengan tingkat mulai eksekusi yang didukung, lihatKuota yang terkait dengan API tindakan pelambatan.

Untuk informasi tentang kuota yang terkait dengan tingkat mulai eksekusi yang didukung, lihatKuota yang terkait dengan API tindakan pelambatan.

Tingkat transisi status yang didukung

Untuk informasi tentang kuota yang terkait dengan tingkat transisi status yang didukung, lihatKuota terkait throttling status.

Tidak ada batas
Penetapan Harga Harga berdasarkan jumlah transisi negara. Transisi status dihitung setiap kali langkah dalam eksekusi Anda selesai. Harga berdasarkan jumlah eksekusi yang Anda jalankan, durasinya, dan konsumsi memori.
Riwayat eksekusi

Eksekusi dapat dicantumkan dan dijelaskan dengan Step FunctionsAPIs. Eksekusi dapat di-debug secara visual melalui konsol. Mereka juga dapat diperiksa di CloudWatch Log dengan mengaktifkan logging pada mesin status Anda.

Untuk informasi selengkapnya tentang men-debug eksekusi Alur Kerja Standar di konsol, lihat dan. Perbedaan pengalaman konsol standar dan Express Melihat alur kerja berjalan

Riwayat eksekusi tak terbatas, yaitu, sebanyak entri riwayat eksekusi dipertahankan yang dapat Anda hasilkan dalam periode 5 menit.

Eksekusi dapat diperiksa di CloudWatch Log atau konsol Step Functions dengan mengaktifkan logging pada mesin status Anda.

Untuk informasi selengkapnya tentang men-debug eksekusi Alur Kerja Ekspres di konsol, lihat dan. Perbedaan pengalaman konsol standar dan Express Melihat alur kerja berjalan

Semantik eksekusi Eksekusi alur kerja yang tepat sekali.

Alur Kerja Ekspres Asinkron: Eksekusi alur kerja. t-least-once

Alur Kerja Ekspres Sinkron: Eksekusi t-most-once alur kerja.

Integrasi layanan Mendukung semua integrasi dan pola layanan. Mendukung semua integrasi layanan.
catatan

Alur Kerja Ekspres tidak mendukung pola integrasi layanan Job-run (.sync) atau Callback (.waitForTaskToken).

Peta Terdistribusi Didukung Tidak Support
Kegiatan Didukung Tidak Support
Optimalkan jenis alur kerja

Dalam lokakarya pemrosesan data skala besar, lihat modul Memilih jenis alur kerja (lokakarya) untuk perbandingan menurut jenis, daftar periksa untuk mengonversi dari Standar ke Ekspres, dan contoh analisis dampak biaya.

Alur Kerja Ekspres Sinkron dan Asinkron di Step Functions

Ada dua jenis Alur Kerja Ekspres yang dapat Anda pilih: Asinkron Alur Kerja Ekspres dan Alur Kerja Ekspres Sinkron.

  • Alur Kerja Ekspres Asinkron mengembalikan konfirmasi bahwa alur kerja dimulai, tetapi jangan menunggu alur kerja selesai. Untuk mendapatkan hasilnya, Anda harus melakukan polling CloudWatch Log layanan. Anda dapat menggunakan Alur Kerja Ekspres Asinkron ketika Anda tidak memerlukan keluaran respons langsung, seperti layanan pesan atau pemrosesan data yang tidak bergantung pada layanan lain. Anda dapat memulai Alur Kerja Ekspres Asinkron sebagai respons terhadap suatu peristiwa, dengan alur kerja bersarang di Step Functions, atau dengan menggunakan panggilan. StartExecution API

  • Alur Kerja Ekspres Sinkron memulai alur kerja, tunggu hingga selesai, lalu kembalikan hasilnya. Alur Kerja Ekspres Sinkron dapat digunakan untuk mengatur layanan mikro. Dengan Alur Kerja Synchronous Express, Anda dapat mengembangkan aplikasi tanpa perlu mengembangkan kode tambahan untuk menangani kesalahan, mencoba ulang, atau menjalankan tugas paralel. Anda dapat menjalankan Alur Kerja Synchronous Express yang dipanggil dari Amazon Gateway, API AWS Lambda, atau dengan menggunakan StartSyncExecution API panggilan.

    catatan

    Jika Anda menjalankan Step Functions Express Workflows secara sinkron dari konsol, StartSyncExecution permintaan akan kedaluwarsa setelah 60 detik. Untuk menjalankan alur kerja ekspres secara sinkron selama durasi hingga lima menit, buat StartSyncExecution permintaan menggunakan AWS SDKatau AWS Command Line Interface (AWS CLI) alih-alih konsol Step Functions.

    APIPanggilan eksekusi Express sinkron tidak berkontribusi pada batas kapasitas akun yang ada. Step Functions menyediakan kapasitas sesuai permintaan dan secara otomatis menskalakan dengan beban kerja yang berkelanjutan. Lonjakan beban kerja dapat di-throtling hingga kapasitas tersedia.

Jaminan eksekusi dalam alur kerja Step Functions

Alur Kerja Standar Alur Kerja Ekspres Tidak Sinkron Alur Kerja Ekspres Sinkron
Eksekusi alur kerja yang tepat sekali t-least-onceEksekusi alur kerja t-most-onceEksekusi alur kerja
Status eksekusi secara internal tetap ada di antara transisi negara. Status eksekusi tidak bertahan di antara transisi status. Status eksekusi tidak bertahan di antara transisi status.
Secara otomatis mengembalikan respons idempoten saat memulai eksekusi dengan nama yang sama dengan alur kerja yang sedang berjalan. Alur kerja baru tidak dimulai dan pengecualian dilemparkan setelah alur kerja yang sedang berjalan selesai. Idempotensi tidak dikelola secara otomatis. Memulai beberapa alur kerja dengan nama yang sama menghasilkan eksekusi bersamaan. Dapat mengakibatkan hilangnya status alur kerja internal jika logika mesin status tidak idempoten. Idempotensi tidak dikelola secara otomatis. Step Functions menunggu setelah eksekusi dimulai dan mengembalikan hasil state machine setelah selesai. Alur kerja tidak dimulai ulang jika pengecualian terjadi.

Data riwayat eksekusi dihapus setelah 90 hari. Nama alur kerja dapat digunakan kembali setelah penghapusan data out-of-date eksekusi.

Untuk memenuhi persyaratan kepatuhan, organisasi, atau peraturan, Anda dapat mengurangi periode retensi riwayat eksekusi menjadi 30 hari dengan mengirimkan permintaan kuota. Untuk melakukan ini, gunakan AWS Support Center Console dan buat kasus baru.

Riwayat eksekusi tidak ditangkap oleh Step Functions. Logging harus diaktifkan melalui Amazon CloudWatch Logs. Riwayat eksekusi tidak ditangkap oleh Step Functions. Logging harus diaktifkan melalui Amazon CloudWatch Logs.