Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bersamaan mengulangi item dalam alur kerja Step Functions
Pada topik sebelumnya,Tentukan tugas paralel, Anda belajar cara menjalankan cabang langkah terpisah secara paralel menggunakan Parallel
status. Dengan menggunakan Map
status, Anda dapat menjalankan serangkaian langkah alur kerja untuk setiap item dalam kumpulan data. Iterasi Map
status berjalan secara paralel, yang memungkinkan untuk memproses kumpulan data dengan cepat.
Dengan menyertakan Map
status dalam alur kerja Anda, Anda dapat melakukan tugas, seperti pemrosesan data, menggunakan salah satu dari duaMode pemrosesan status peta: Mode sebaris dan mode Terdistribusi. Untuk mengonfigurasi Map
status, Anda menentukanItemProcessor
, yang berisi JSON objek yang menentukan mode pemrosesan Map
status dan definisinya. Anda akan menjalankan Map
status dalam mode Inline default, yang mendukung hingga 40 iterasi bersamaan. Saat Anda menjalankan Map
status dalam mode Terdistribusi, ini mendukung hingga 10.000 eksekusi alur kerja anak paralel.
Ketika eksekusi alur kerja Anda memasuki Map
status, itu akan mengulangi JSON array yang ditentukan dalam input status. Untuk setiap item array, iterasi yang sesuai berjalan dalam konteks alur kerja yang berisi status. Map
Ketika semua iterasi selesai, Map
status akan mengembalikan array yang berisi output untuk setiap item yang diproses oleh. ItemProcessor
Anda akan menggunakan Map
status dalam mode Inline untuk mengambil skor kredit pemohon dengan mengulangi satu set biro kredit. Untuk melakukan ini, pertama-tama Anda mengambil nama semua biro kredit yang disimpan dalam tabel Amazon DynamoDB, dan kemudian menggunakan Map
negara untuk memutar melalui daftar biro kredit untuk mengambil skor kredit pemohon yang dilaporkan oleh masing-masing biro ini.
Langkah 1: Buat tabel DynamoDB untuk menyimpan nama semua biro kredit
Pada langkah ini, Anda membuat tabel bernama GetCreditBureau
menggunakan konsol DynamoDB. Tabel menggunakan atribut string Nama sebagai kunci Partition. Dalam tabel ini, Anda menyimpan nama semua biro kredit tempat Anda ingin mengambil skor kredit pemohon.
Masuk ke AWS Management Console dan buka konsol DynamoDB di. https://console.aws.amazon.com/dynamodb/
Di panel navigasi di konsol, pilih Tabel, lalu pilih Buat tabel.
Masukkan detail tabel sebagai berikut:
Untuk Nama tabel, masukkan
GetCreditBureau
.Untuk Kunci partisi, masukkan
Name
.Simpan pilihan default, dan pilih Buat tabel.
Setelah tabel Anda dibuat, dalam daftar Tabel, pilih GetCreditBureautabel.
Pilih Tindakan, lalu pilih Buat item.
Untuk Nilai, masukkan nama biro kredit. Misalnya,
CredTrack
.Pilih Buat item.
Ulangi proses ini dan buat item untuk nama biro kredit lainnya. Misalnya,
KapFinn
danCapTrust
.
Langkah 2: Perbarui mesin negara - Ambil hasil dari tabel DynamoDB
Di konsol Step Functions, Anda akan menambahkan Task status dan menggunakan AWS SDKintegrasi untuk mengambil nama biro kredit dari tabel DynamoDB yang Anda buat di Langkah 1. Anda akan menggunakan output dari langkah ini sebagai masukan untuk Map
status yang akan Anda tambahkan nanti dalam alur kerja Anda.
Buka mesin CreditCardWorkflownegara untuk memperbaruinya.
Pilih daftar Dapatkan negara biro kredit.
Untuk APIParameter, tentukan nilai nama Tabel sebagai
GetCreditBureau
.
Langkah 3: Buat fungsi Lambda yang mengembalikan skor kredit untuk semua biro kredit
Pada langkah ini, Anda membuat fungsi Lambda yang menerima nama semua biro kredit sebagai masukan, dan mengembalikan skor kredit pemohon untuk masing-masing biro kredit ini. Fungsi Lambda ini akan dipanggil dari Map
status yang akan Anda tambahkan dalam alur kerja Anda.
Buat fungsi Lambda Node.js 16.x dan beri nama.
get-credit-score
Pada halaman berjudul get-credit-score, tempel kode berikut ke area sumber Kode.
function getScore(arr) { let temp; let i = Math.floor((Math.random() * arr.length)); temp = arr[i]; console.log(i); console.log(temp); return temp; } const arrScores = [700, 820, 640, 460, 726, 850, 694, 721, 556]; exports.handler = (event, context, callback) => { let creditScore = getScore(arrScores); callback(null, "Credit score pulled is: " + creditScore + "."); };
Menyebarkan fungsi Lambda.
Langkah 4: Perbarui mesin status - tambahkan status Peta untuk mengambil skor kredit secara berulang
Di konsol Step Functions, Anda menambahkan Map
status yang memanggil fungsi get-credit-scoreLambda untuk memeriksa skor kredit pemohon untuk semua biro kredit yang dikembalikan oleh daftar Dapatkan status biro kredit.
Buka mesin CreditCardWorkflownegara untuk memperbaruinya.
Pilih Dapatkan skor dari semua negara biro kredit.
Di tab Konfigurasi, pilih Menyediakan jalur ke array item dan kemudian masukkan
$.Items
.Pilih Dapatkan semua skor langkah di dalam
Map
negara bagian.Di tab Konfigurasi, pastikan untuk jenis Integrasi, Dioptimalkan dipilih.
Untuk nama Fungsi, mulailah mengetik nama fungsi get-credit-scoreLambda dan pilih dari daftar dropdown yang muncul.
Untuk Payload, pilih No payload.
Langkah selanjutnya
Pada langkah berikutnyaJalankan alur kerja Anda , Anda akan belajar cara menjalankan alur kerja Anda.