Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat mesin status Step Functions yang menggunakan Lambda
Dalam tutorial ini, Anda akan membuat alur kerja satu langkah menggunakan AWS Step Functions untuk memohon AWS Lambda fungsi.
catatan
Step Functions didasarkan pada mesin dan tugas negara. Dalam Step Functions, state machine disebut alur kerja, yang merupakan serangkaian langkah yang digerakkan oleh peristiwa. Setiap langkah dalam alur kerja disebut status. Misalnya, status Tugas mewakili unit kerja yang lain AWS melakukan layanan, seperti memanggil yang lain Layanan AWS atauAPI. Contoh menjalankan alur kerja yang melakukan tugas disebut eksekusi di Step Functions.
Untuk informasi selengkapnya, lihat:
Lambda sangat cocok untuk Task
negara bagian, karena fungsi Lambda tanpa server dan mudah ditulis. Anda dapat menulis kode di AWS Management Console atau editor favorit Anda. AWS menangani detail penyediaan lingkungan komputasi untuk fungsi Anda dan menjalankannya.
Langkah 1: Membuat fungsi Lambda
Fungsi Lambda Anda menerima data peristiwa dan mengembalikan pesan ucapan.
penting
Pastikan fungsi Lambda Anda berada di bawah yang sama AWS akun dan Wilayah AWS sebagai mesin negara Anda.
-
Buka konsol Lambda
dan pilih Create Function. -
Pilih halaman Buat fungsi, pilih Penulis dari scratch.
-
Untuk Nama fungsi, masukkan
HelloFunction
. -
Simpan pilihan default untuk semua opsi lain, lalu pilih Buat fungsi.
-
Setelah fungsi Lambda Anda dibuat, salin Amazon Resource Name (ARN) fungsi yang ditampilkan di sudut kanan atas halaman. Berikut ini adalah contohARN:
arn:aws:lambda:us-east-1:123456789012:function:
HelloFunction
-
Salin kode berikut untuk fungsi Lambda ke bagian Sumber kode
HelloFunction
halaman.export const handler = async(event, context, callback) => { callback(null, "Hello from " + event.who + "!"); };
Kode ini menyusun sapaan menggunakan bidang
who
data input, yang disediakan oleh objekevent
yang diteruskan ke fungsi Anda. Anda menambahkan data input untuk fungsi ini nanti, ketika Anda memulai eksekusi baru. Metodecallback
mengembalikan sapaan gabungan dari fungsi Anda. -
Pilih Deploy.
Langkah 2: Uji fungsi Lambda
Uji fungsi Lambda Anda untuk melihatnya beroperasi.
-
Pilih Uji.
-
Untuk Nama peristiwa, masukkan
HelloEvent
. -
Ganti JSON data Peristiwa dengan yang berikut ini.
{ "who": "AWS Step Functions" }
Entri
"who"
sesuai dengan bidangevent.who
di fungsi Lambda Anda, menyelesaikan sapaan. Anda akan memasukkan data input yang sama ketika Anda menjalankan mesin status Anda. -
Pilih Simpan dan kemudian pilih Uji.
-
Untuk meninjau hasil pengujian, di bawah Hasil eksekusi, perluas Detail.
Langkah 3: Buat mesin negara
Gunakan konsol Step Functions untuk membuat mesin status yang memanggil fungsi Lambda yang Anda buat di Langkah 1.
-
Buka Konsol Step Functions
dan pilih Buat mesin status. penting
Pastikan mesin negara Anda berada di bawah yang sama AWS akun dan Wilayah sebagai fungsi Lambda yang Anda buat sebelumnya.
-
Dalam kotak dialog Pilih templat, pilih Kosong.
-
Pilih Pilih untuk membuka Workflow Studio diMode desain.
-
Di browser States di sebelah kiri, pastikan Anda telah memilih tab Actions. Kemudian, seret dan lepas AWS Lambda Memanggil API ke status kosong berlabel Seret status pertama di sini.
-
Di panel Inspector di sebelah kanan, konfigurasikan fungsi Lambda:
-
Di bagian APIParameter, pilih fungsi Lambda yang Anda buat sebelumnya di daftar dropdown nama Fungsi.
-
Simpan pilihan default di daftar dropdown Payload.
-
-
(Opsional) Pilih Definisi untuk melihat definisi state machine Amazon States Language (ASL), yang secara otomatis dihasilkan berdasarkan pilihan Anda di tab Actions dan panel Inspector.
-
Tentukan nama untuk mesin negara Anda. Untuk melakukan ini, pilih ikon edit di sebelah nama mesin status default MyStateMachine. Kemudian, dalam konfigurasi mesin Negara, tentukan nama di kotak Nama mesin Negara.
Misalnya, masukkan nama
LambdaStateMachine
.catatan
Nama mesin negara, eksekusi, dan tugas aktivitas tidak boleh melebihi 80 karakter panjangnya. Nama-nama ini harus unik untuk akun Anda dan AWS Wilayah, dan tidak boleh mengandung salah satu dari berikut ini:
-
Spasi putih
-
Karakter wildcard (
? *
) -
Karakter tanda kurung (
< > { } [ ]
) -
Karakter khusus (
" # % \ ^ | ~ ` $ & , ; : /
) -
Karakter kontrol (
\\u0000
-\\u001f
atau\\u007f
-\\u009f
).
Step Functions menerima nama untuk mesin negara, eksekusi, aktivitas, dan label yang berisi ASCII non-karakter. Karena karakter seperti itu tidak akan berfungsi dengan Amazon CloudWatch, kami sarankan hanya menggunakan ASCII karakter sehingga Anda dapat melacak metrik. CloudWatch
-
-
(Opsional) Dalam konfigurasi mesin State, tentukan pengaturan alur kerja lainnya, seperti jenis mesin status dan peran pelaksanaannya.
Untuk tutorial ini, simpan semua pilihan default di pengaturan mesin State.
-
Pilih Buat.
-
Dalam kotak dialog Konfirmasi pembuatan peran, pilih Konfirmasi untuk melanjutkan.
Anda juga dapat memilih Lihat pengaturan peran untuk kembali ke konfigurasi mesin Status.
catatan
Jika Anda menghapus IAM peran yang dibuat Step Functions, Step Functions tidak dapat membuatnya kembali nanti. Demikian pula, jika Anda mengubah peran (misalnya, dengan menghapus Step Functions dari prinsipal dalam IAM kebijakan), Step Functions tidak dapat memulihkan pengaturan aslinya nanti.
Langkah 4: Jalankan mesin negara
Setelah Anda membuat mesin status Anda, Anda dapat menjalankannya.
-
Pada halaman mesin Negara, pilih LambdaStateMachine.
-
Pilih Mulai Eksekusi.
Kotak dialog Mulai eksekusi ditampilkan.
-
(Opsional) Masukkan nama eksekusi khusus untuk mengganti default yang dihasilkan.
Non- ASCII nama dan logging
Step Functions menerima nama untuk mesin negara, eksekusi, aktivitas, dan label yang berisi ASCII non-karakter. Karena karakter seperti itu tidak akan berfungsi dengan Amazon CloudWatch, kami sarankan hanya menggunakan ASCII karakter sehingga Anda dapat melacak metrik. CloudWatch
-
Di area Input, ganti contoh data eksekusi dengan yang berikut ini.
{ "who" : "AWS Step Functions" }
"who"
adalah nama kunci yang fungsi Lambda Anda gunakan untuk mendapatkan nama orang untuk menyapa. -
Pilih Mulai Eksekusi.
Eksekusi state machine Anda dimulai, dan halaman baru yang menunjukkan eksekusi yang sedang berjalan ditampilkan.
-
Konsol Step Functions mengarahkan Anda ke halaman yang berjudul dengan ID eksekusi Anda. Halaman ini dikenal sebagai halaman Detail Eksekusi. Di halaman ini, Anda dapat meninjau hasil eksekusi saat eksekusi berlangsung atau setelah selesai.
Untuk meninjau hasil eksekusi, pilih status individual pada tampilan Grafik, lalu pilih tab individual di Detail langkah panel untuk melihat detail setiap status termasuk input, output, dan definisi masing-masing. Untuk detail tentang informasi eksekusi yang dapat Anda lihat di halaman Rincian Eksekusi, lihatIkhtisar detail eksekusi.
catatan
Anda juga dapat meneruskan muatan saat memanggil Lambda dari mesin negara. Untuk informasi selengkapnya dan contoh tentang memanggil Lambda dengan meneruskan payload di lapangan, lihatParameters
. Memohon AWS Lambda Fungsi dengan Step Functions