Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memecahkan masalah status AWS Step Functions dengan menggunakan Amazon Bedrock
Aniket Kurzadkar dan Sangam Kushwaha, Amazon Web Services
Ringkasan
AWS Step Functions Kemampuan penanganan kesalahan dapat membantu Anda melihat kesalahan yang terjadi selama status dalam alur kerja, tetapi masih bisa menjadi tantangan untuk menemukan akar penyebab kesalahan dan men-debugnya. Pola ini membahas tantangan tersebut dan menunjukkan bagaimana Amazon Bedrock dapat membantu Anda mengatasi kesalahan yang terjadi selama status di Step Functions.
Step Functions menyediakan orkestrasi alur kerja, sehingga memudahkan pengembang untuk mengotomatisasi proses. Step Functions juga menyediakan fungsionalitas penanganan kesalahan yang memberikan manfaat sebagai berikut:
Pengembang dapat membuat aplikasi yang lebih tangguh yang tidak gagal sepenuhnya ketika terjadi kesalahan.
Alur kerja dapat mencakup logika bersyarat untuk menangani berbagai jenis kesalahan secara berbeda.
Sistem dapat secara otomatis mencoba kembali operasi yang gagal, mungkin dengan backoff eksponensial.
Jalur eksekusi alternatif dapat didefinisikan untuk skenario kesalahan, memungkinkan alur kerja beradaptasi dan melanjutkan pemrosesan.
Ketika terjadi kesalahan dalam alur kerja Step Functions, pola ini menunjukkan bagaimana pesan kesalahan dan konteks dapat dikirim ke model dasar (FM) seperti Claude 3 yang didukung oleh Step Functions. FM dapat menganalisis kesalahan, mengkategorikannya, dan menyarankan langkah-langkah perbaikan potensial.
Prasyarat dan batasan
Prasyarat
Aktif Akun AWS
Pemahaman dasar AWS Step Functions dan alur kerja
Konektivitas Amazon Bedrock API
Batasan
Anda dapat menggunakan pendekatan pola ini untuk berbagai Layanan AWS. Namun, hasilnya mungkin bervariasi sesuai dengan prompt yang dibuat oleh AWS Lambda yang kemudian dievaluasi oleh Amazon Bedrock.
Beberapa Layanan AWS tidak tersedia di semua Wilayah AWS. Untuk ketersediaan Wilayah, lihat layanan AWS menurut Wilayah
. Untuk titik akhir tertentu, lihat Titik akhir dan kuota layanan, dan pilih tautan untuk layanan.
Arsitektur
Diagram berikut menunjukkan alur kerja dan komponen arsitektur untuk pola ini.

Diagram menunjukkan alur kerja otomatis untuk penanganan kesalahan dan pemberitahuan di mesin status Step Functions:
Pengembang memulai eksekusi mesin negara.
Mesin status Step Functions mulai memproses statusnya. Ada dua kemungkinan hasil:
(a) Jika semua status berhasil dijalankan, alur kerja dilanjutkan langsung ke Amazon SNS untuk pemberitahuan keberhasilan email.
(b) Jika ada status yang gagal, alur kerja berpindah ke kesalahan penanganan fungsi Lambda.
Jika terjadi kesalahan, berikut ini terjadi:
(a) Fungsi Lambda (penangan kesalahan) dipicu. Fungsi Lambda mengekstrak pesan kesalahan dari data peristiwa yang diteruskan oleh mesin status Step Functions kepadanya. Kemudian fungsi Lambda menyiapkan prompt berdasarkan pesan kesalahan ini dan mengirimkan prompt ke Amazon Bedrock. Prompt meminta solusi dan saran terkait dengan kesalahan spesifik yang ditemui.
(b) Amazon Bedrock, yang menampung model AI generatif, memproses prompt input. (Pola ini menggunakan model pondasi Anthropic Claude 3 (FM), yang merupakan salah satu dari banyak yang didukung FMs Amazon Bedrock.) Model AI menganalisis konteks kesalahan. Kemudian model menghasilkan respons yang dapat mencakup penjelasan mengapa kesalahan terjadi, solusi potensial untuk menyelesaikan kesalahan, dan saran untuk menghindari membuat kesalahan yang sama di masa depan.
Amazon Bedrock mengembalikan respons yang dihasilkan AI ke fungsi Lambda. Fungsi Lambda memproses respons, berpotensi memformatnya atau mengekstrak informasi kunci. Kemudian fungsi Lambda mengirimkan respons ke output mesin status.
Setelah penanganan kesalahan atau eksekusi berhasil, alur kerja diakhiri dengan memicu Amazon SNS untuk mengirim pemberitahuan email.
Alat
Layanan AWS
Amazon Bedrock adalah layanan yang dikelola sepenuhnya yang membuat model foundation berkinerja tinggi (FMs) dari startup AI terkemuka dan Amazon tersedia untuk Anda gunakan melalui API terpadu.
AWS Lambdaadalah layanan komputasi yang membantu Anda menjalankan kode tanpa perlu menyediakan atau mengelola server. Ini menjalankan kode Anda hanya bila diperlukan dan skala secara otomatis, jadi Anda hanya membayar untuk waktu komputasi yang Anda gunakan.
Amazon Simple Notification Service (Amazon SNS) membantu Anda mengoordinasikan dan mengelola pertukaran pesan antara penayang dan klien, termasuk server web dan alamat email.
AWS Step Functionsadalah layanan orkestrasi tanpa server yang membantu Anda menggabungkan AWS Lambda fungsi dan lainnya Layanan AWS untuk membangun aplikasi bisnis yang penting.
Praktik terbaik
Mengingat bahwa Amazon Bedrock adalah model AI generatif yang belajar dari data terlatih, ia juga menggunakan data tersebut untuk melatih dan menghasilkan konteks. Sebagai praktik terbaik, sembunyikan informasi pribadi apa pun yang dapat menyebabkan masalah kebocoran data.
Meskipun AI generatif dapat memberikan wawasan yang berharga, keputusan penanganan kesalahan kritis harus tetap melibatkan pengawasan manusia, terutama di lingkungan produksi.
Epik
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Buat mesin negara. | Untuk membuat mesin status yang sesuai dengan alur kerja Anda, lakukan hal berikut:
| AWS DevOps |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Buat fungsi Lambda. | Untuk membuat fungsi Lambda, lakukan hal berikut:
| AWS DevOps |
Siapkan logika yang diperlukan dalam kode Lambda. |
| AWS DevOps |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Siapkan Lambda untuk menangani kesalahan di Step Functions. | Untuk mengatur Step Functions untuk menangani kesalahan tanpa mengganggu alur kerja, lakukan hal berikut:
| AWS DevOps |
Pemecahan Masalah
Isu | Solusi |
---|---|
Lambda tidak dapat mengakses Amazon Bedrock API (Tidak diizinkan untuk melakukan) | Kesalahan ini terjadi ketika peran Lambda tidak memiliki izin untuk mengakses Amazon Bedrock API. Untuk mengatasi masalah ini, tambahkan |
Kesalahan batas waktu Lambda | Terkadang mungkin diperlukan lebih dari 30 detik untuk menghasilkan respons dan mengirimkannya kembali, tergantung pada prompt. Untuk mengatasi masalah ini, tingkatkan waktu konfigurasi. Untuk informasi selengkapnya, lihat Mengonfigurasi batas waktu fungsi Lambda di Panduan Pengembang.AWS Lambda |