Membuat mesin kondisi Step FunctionsAWS SAM - AWS Step Functions

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

Membuat mesin kondisi Step FunctionsAWS SAM

Dalam panduan ini, Anda mengunduh, membangun, dan men-deploy contoh aplikasi AWS SAM yang berisi mesin status AWS Step Functions. Aplikasi ini membuat alur kerja perdagangan saham tiruan yang berjalan pada jadwal yang telah ditentukan sebelumnya (perhatikan bahwa jadwal dinonaktifkan secara default untuk menghindari biaya).

Diagram berikut menunjukkan komponen dari aplikasi ini:

Diagram yang menunjukkan fungsi Lambda yang dipanggil saat Anda mengirim permintaan GET ke titik akhir API Gateway

Berikut ini adalah pratinjau perintah yang Anda jalankan untuk membuat aplikasi sampel Anda. Untuk detail selengkapnya tentang masing-masing perintah ini, lihat bagian selanjutnya di halaman ini

# Step 1 - Download a sample application. For this tutorial you # will follow the prompts to select an AWS Quick Start Template # called 'Multi-step workflow' sam init # Step 2 - Build your application cd project-directory sam build # Step 3 - Deploy your application sam deploy --guided

Prasyarat

Panduan ini mengasumsikan bahwa Anda telah menyelesaikan langkah-langkah dalam Menginstal CLI AWS SAM untuk OS Anda. Panduan ini mengasumsikan bahwa Anda telah melakukan hal berikut:

  1. Membuat akun AWS.

  2. Mengonfigurasi izin IAM.

  3. Menginstal Homebrew. Catatan: Homebrew hanyalah prasyarat untuk Linux dan macOS.

  4. Menginstal CLI AWS SAM. Catatan: Pastikan bahwa Anda memiliki versi 0.52.0 atau yang lebih baru. Anda dapat memeriksa versi yang Anda miliki dengan mengeksekusi perintah sam --version.

Langkah 1: Unduh Sampel Aplikasi AWS SAM

Perintah untuk menjalankan:

sam init

Ikuti perintah di layar untuk memilih hal berikut:

  1. Templat: Templat Quick Start AWS

  2. Bahasa: Python, Ruby, NodeJS, Go, Java, atau .NET

  3. Nama proyek: (nama pilihan Anda - yang default adalah sam-app)

  4. Memulai aplikasi cepat:Alur kerja multi-step

ApaAWS SAMsedang melakukan:

Perintah ini membuat direktori dengan nama yang Anda berikan untuk prompt 'Project name' (default-nya adalah sam-app). Isi spesifik direktori akan tergantung pada bahasa yang Anda pilih.

Berikut adalah isi direktori saat Anda memilih salah satu dari waktu aktif Python:

├── README.md
├── functions
│   ├── __init__.py
│   ├── stock_buyer
│   │   ├── __init__.py
│   │   ├── app.py
│   │   └── requirements.txt
│   ├── stock_checker
│   │   ├── __init__.py
│   │   ├── app.py
│   │   └── requirements.txt
│   └── stock_seller
│       ├── __init__.py
│       ├── app.py
│       └── requirements.txt
├── statemachine
│   └── stock_trader.asl.json
├── template.yaml
└── tests
    └── unit
        ├── __init__.py
        ├── test_buyer.py
        ├── test_checker.py
        └── test_seller.py

Ada dua file yang sangat menarik yang dapat Anda lihat:

  • template.yaml: Berisi templat AWS SAM yang menentukan sumber daya aplikasi AWS Anda.

  • statemachine/stockTrader.asl.json: Berisi ketentuan mesin status aplikasi, yang ditulis dalam Amazon States Language.

Anda dapat melihat entri berikut dalam file template.yaml, yang menunjuk ke file ketentuan mesin status:

Properties: DefinitionUri: statemachine/stock_trader.asl.json

Akan sangat membantu untuk menjaga definisi mesin status sebagai file terpisah alih-alih menyematkannya diAWS SAMtemplat. Misalnya, melacak perubahan pada definisi mesin status lebih mudah jika Anda tidak menyertakan definisi dalam templat. Anda dapat menggunakan Workflow Studio untuk membuat dan memelihara definisi mesin status, dan mengekspor definisi dari konsol langsung ke file spesifikasi Amazon States Language tanpa menggabungkannya ke dalam template.

Untuk informasi selengkapnya tentang aplikasi sampel, lihat file README.md dalam direktori proyek.

Langkah 2: Bangun Aplikasi Anda

Perintah untuk menjalankan:

Pertama-tama ubah ke direktori proyek (yaitu, direktori tempat file template.yaml untuk aplikasi sampel berada; secara default adalah sam-app), lalu jalankan perintah ini:

sam build

Output contoh:

  
 Build Succeeded

 Built Artifacts  : .aws-sam/build
 Built Template   : .aws-sam/build/template.yaml

 Commands you can use next
 =========================
 [*] Invoke Function: sam local invoke
 [*] Deploy: sam deploy --guided
       

ApaAWS SAMsedang melakukan:

CLI AWS SAM hadir dengan abstraksi untuk sejumlah waktu aktif Lambda guna membangun dependensi Anda, dan menyalin semua artefak build ke folder persiapan sehingga semuanya siap untuk dikemas dan di-deploy. Perintah sam build membangun setiap dependensi yang aplikasi Anda miliki, dan menyalin artefak build ke folder di bawah .aws-sam/build.

Langkah 3: Deploy Aplikasi Anda ke Cloud AWS

Perintah untuk menjalankan:

sam deploy --guided

Ikuti petunjuk di layar. Anda hanya dapat merespons dengan Enter untuk menerima opsi default yang disediakan dalam pengalaman interaktif.

ApaAWS SAMsedang melakukan:

Perintah ini men-deploy aplikasi Anda ke cloud AWS. Aplikasi tersebut mengambil artefak deployment yang Anda buat dengan perintah sam build, mengemas dan mengunggahnya ke bucket Amazon S3 yang dibuat oleh CLI AWS SAM, dan men-deploy aplikasi menggunakan AWS CloudFormation. Dalam output dari perintah deploy, Anda dapat melihat perubahan yang dilakukan pada tumpukan AWS CloudFormation Anda.

Anda dapat memverifikasi contoh mesin status Step Functions berhasil di-deploy dengan mengikuti langkah-langkah berikut:

  1. Masuk ke AWS Management Console dan buka konsol Step Functions di https://console.aws.amazon.com/states/.

  2. Di navigasi sebelah kiri, pilih Mesin status.

  3. Temukan dan pilih mesin status baru Anda dalam daftar tersebut. Ini akan diberi nama StockTradingStateMachine-<unique-hash>.

  4. Pilih tab Ketentuan.

Anda sekarang akan melihat representasi visual dari mesin status Anda. Anda dapat memverifikasi bahwa representasi visual sesuai dengan ketentuan mesin status yang ditemukan di dalam file statemachine/stockTrader.asl.json dari direktori proyek Anda.

Pemecahan Masalah

Kesalahan CLI SAM: "opsi tersebut tidak ada: --dipandu"

Saat mengeksekusi sam deploy, Anda akan melihat kesalahan berikut:

 
Error: no such option: --guided
            

Ini berarti Anda menggunakan versi lama dari CLI AWS SAM yang tidak mendukung parameter --guided. Untuk memperbaikinya, Anda dapat memperbarui versi CLI AWS SAM ke 0.33.0 atau yang lebih baru, atau menghilangkan parameter --guided dari perintah sam deploy.

Kesalahan CLI SAM: "Gagal untuk membuat sumber daya terkelola: Tidak dapat menemukan kredensial"

Saat mengeksekusi sam deploy, Anda akan melihat kesalahan berikut:

 
Error: Failed to create managed resources: Unable to locate credentials
            

Ini berarti Anda belum menyiapkan kredensial AWS untuk mengaktifkan CLI AWS SAM untuk melakukan panggilan layanan AWS. Untuk memperbaikinya, Anda harus menyiapkan kredensial AWS. Untuk informasi selengkapnya, lihat Menyiapkan Kredensial AWS dalam Panduan Developer AWS Serverless Application Model.

Bersihkan

Jika Anda tidak lagi membutuhkan sumber daya AWS yang Anda buat dengan menjalankan tutorial ini, Anda dapat menghapusnya dengan menghapus tumpukan AWS CloudFormation yang Anda deploy.

Untuk menghapus tumpukan AWS CloudFormation yang dibuat dengan tutorial ini menggunakan AWS Management Console, ikuti langkah-langkah ini:

  1. Masuk ke AWS Management Console dan buka konsol AWS CloudFormation di https://console.aws.amazon.com/cloudformation.

  2. Di panel navigasi sebelah kiri, pilih Tumpukan.

  3. Dalam daftar tumpukan, pilih aplikasi sam (atau nama tumpukan yang Anda buat).

  4. Pilih Delete (Hapus).

Setelah selesai, status dari tumpukan akan berubah menjadi DELETE_COMPLETE.

Sebagai alternatif, Anda dapat menghapus tumpukan AWS CloudFormation dengan mengeksekusi perintah AWS CLI berikut:

aws cloudformation delete-stack --stack-name sam-app --region region

Verifikasi Tumpukan yang Dihapus

Untuk kedua metode menghapus tumpukan AWS CloudFormation, Anda dapat memverifikasi bahwa tumpukan tersebut telah dihapus dengan membuka https://console.aws.amazon.com/cloudformation, memilih Tumpukan di panel navigasi sebelah kiri, dan memilih Dihapus di menu tarik-turun di sebelah kanan kotak teks pencarian. Anda akan melihat nama tumpukan Anda aplikasi sam-app (atau nama tumpukan yang Anda buat) dalam daftar tumpukan yang dihapus.