Mendefinisikan tugas paralel dalam alur kerja 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.

Mendefinisikan tugas paralel dalam alur kerja Step Functions

Pada topik sebelumnyaTambahkan logika bersyarat, Anda mengatur kondisi untuk memilih jalur yang berbeda dalam alur kerja Anda. Sejauh ini, langkah-langkahnya telah berjalan secara berurutan. Dalam topik ini, Anda akan mempelajari cara menjalankan dua atau lebih langkah secara bersamaan menggunakan Parallel status.

Kedua cabang dalam suatu Parallel keadaan menerima input yang sama, tetapi setiap cabang memproses bagian-bagian input khusus untuk itu. Step Functions menunggu sampai setiap cabang selesai sebelum melanjutkan ke langkah berikutnya.

Anda akan menggunakan status Paralel untuk secara bersamaan memeriksa identitas dan alamat pemohon.

Langkah 1: Buat fungsi Lambda untuk melakukan pemeriksaan yang diperlukan

Alur kerja aplikasi kartu kredit ini memanggil dua fungsi Lambda di dalam status Paralel untuk memeriksa identitas dan alamat pemohon. Pemeriksaan ini dilakukan secara bersamaan menggunakan status Paralel. Mesin state menyelesaikan eksekusi hanya setelah kedua cabang paralel selesai dieksekusi.

Untuk membuat fungsi Lambda check-identity dan check-address
  1. Di tab atau jendela baru, buka konsol Lambda dan buat dua fungsi Lambda Node.js berjudul dan. check-identity check-address Untuk informasi tentang membuat fungsi Lambda menggunakan konsol, lihat Membuat fungsi Lambda di konsol di AWS Lambda Panduan Pengembang.

  2. Buka halaman fungsi check-identity dan ganti kode yang ada di area sumber Kode dengan kode berikut:

    const ssnRegex = /^\d{3}-?\d{2}-?\d{4}$/; const emailRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; class ValidationError extends Error { constructor(message) { super(message); this.name = "CustomValidationError"; } } exports.handler = async (event) => { const { ssn, email } = event; console.log(`SSN: ${ssn} and email: ${email}`); const approved = ssnRegex.test(ssn) && emailRegex.test(email); if (!approved) { throw new ValidationError("Check Identity Validation Failed"); } return { statusCode: 200, body: JSON.stringify({ approved, message: `Identity validation ${approved ? 'passed' : 'failed'}` }) } };
  3. Buka halaman fungsi check-address dan ganti kode yang ada di area sumber Kode dengan kode berikut:

    class ValidationError extends Error { constructor(message) { super(message); this.name = "CustomAddressValidationError"; } } exports.handler = async event => { const { street, city, state, zip } = event; console.log(`Address information: ${street}, ${city}, ${state} - ${zip}`); const approved = [street, city, state, zip].every(i => i?.trim().length > 0); if (!approved) { throw new ValidationError("Check Address Validation Failed"); } return { statusCode: 200, body: JSON.stringify({ approved, message: `Address validation ${ approved ? 'passed' : 'failed'}` }) } };
  4. Untuk kedua fungsi Lambda, dari bagian Ikhtisar fungsi, salin Nama Sumber Daya Amazon masing-masing (ARN) dan simpan dalam file teks. Anda akan memerlukan fungsi ARNs saat menentukan integrasi layanan untuk status identitas dan alamat pemohon Verifikasi. Berikut ini adalah contohARN:

    arn:aws:lambda:us-east-2:123456789012:function:HelloWorld

Langkah 2: Perbarui alur kerja - Tambahkan tugas paralel yang akan dilakukan

Di konsol Step Functions, Anda akan memperbarui alur kerja untuk menentukan integrasi layanan dengan fungsi Lambda check-identity dan check-address yang Anda buat di Langkah 1.

Untuk menambahkan tugas paralel dalam alur kerja
  1. Buka jendela konsol Step Functions yang berisi prototipe alur kerja yang Anda buat. Buat mesin status di Step Functions

  2. Pilih status Verifikasi identitas, dan di tab Konfigurasi, lakukan hal berikut:

    1. Untuk jenis Integrasi, pertahankan pilihan default Optimized.

      catatan

      Menggunakan Step Functions, Anda dapat berintegrasi dengan yang lain layanan AWS dan mengaturnya dalam alur kerja Anda. Untuk informasi selengkapnya tentang integrasi layanan dan jenisnya, lihat Mengintegrasikan layanan dengan Step Functions

    2. Untuk nama Fungsi, pilih fungsi Lambda check-identity dari daftar dropdown.

    3. Untuk Payload, pilih Enter payload lalu ganti contoh payload dengan yang berikut sebagai payload:

      { "email": "janedoe@example.com", "ssn": "012-00-0000" }
  3. Pilih status Verifikasi alamat, dan di tab Konfigurasi, lakukan hal berikut:

    1. Untuk jenis Integrasi, pertahankan pilihan default Optimized.

    2. Untuk nama Fungsi, pilih fungsi Lambda alamat cek dari daftar dropdown.

    3. Untuk Payload, pilih Enter payload lalu ganti contoh payload dengan yang berikut sebagai payload:

      { "street": "123 Any St", "city": "Any Town", "state": "AT", "zip": "01000" }
  4. Pilih Berikutnya.

Langkah selanjutnya

Pada langkah berikutnyaIterasi di atas item, Anda akan belajar cara mengulangi item.