Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat mesin status Step Functions menggunakan AWS SAM
Dalam panduan ini, Anda mengunduh, membangun, dan menerapkan contoh AWS SAM aplikasi yang berisi mesin AWS Step Functions status. 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:

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 applicationcd
project-directory
sam build
# Step 3 - Deploy your applicationsam deploy --guided
Prasyarat
Panduan ini mengasumsikan bahwa Anda telah menyelesaikan langkah-langkah dalam Menginstal AWS SAM CLI untuk OS Anda. Panduan ini mengasumsikan bahwa Anda telah melakukan hal berikut:
-
Membuat AWS akun.
-
Mengonfigurasi izin IAM.
-
Menginstal Homebrew. Catatan: Homebrew hanyalah prasyarat untuk Linux dan macOS.
-
Menginstal AWS SAM CLI. 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:
-
Template: Templat Mulai AWS Cepat
-
Bahasa: Python, Ruby, NodeJS, Go, Java, atau .NET
-
Nama proyek: (nama pilihan Anda - yang default adalah
sam-app
) -
Aplikasi mulai cepat: Alur kerja multi-langkah
Apa AWS SAM yang dilakukan:
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 AWS SAM template yang mendefinisikan AWS sumber daya aplikasi Anda. -
statemachine/stockTrader.asl.json
: Berisi ketentuan mesin status aplikasi, yang ditulis dalam Menggunakan Amazon States Language untuk menentukan alur kerja Step Functions.
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 di AWS SAM template. 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
Contoh keluaran:
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
Apa AWS SAM yang dilakukan:
AWS SAM CLI dilengkapi dengan abstraksi untuk sejumlah runtime Lambda untuk membangun dependensi Anda, dan menyalin semua artefak build ke dalam folder pementasan sehingga semuanya siap untuk dikemas dan digunakan. Perintah sam build
membangun setiap dependensi yang aplikasi Anda miliki, dan menyalin artefak build ke folder di bawah .aws-sam/build
.
Langkah 3: Menyebarkan 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.
Apa AWS SAM yang dilakukan:
Perintah ini menyebarkan aplikasi Anda ke AWS cloud. Dibutuhkan artefak penerapan yang Anda buat dengan sam build
perintah, paket, dan mengunggahnya ke bucket Amazon S3 yang dibuat oleh AWS SAM CLI, dan menyebarkan 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:
Masuk ke AWS Management Console dan buka konsol Step Functions di https://console.aws.amazon.com/states/
. -
Di navigasi sebelah kiri, pilih Mesin status.
-
Temukan dan pilih mesin status baru Anda dalam daftar tersebut. Ini akan diberi nama StockTradingStateMachine -
<unique-hash>
. -
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 AWS SAM CLI yang lebih lama yang tidak mendukung parameter. --guided
Untuk memperbaikinya, Anda dapat memperbarui versi AWS SAM CLI Anda ke 0.33.0 atau yang lebih baru, atau menghilangkan parameter dari --guided
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 AWS kredensi untuk mengaktifkan AWS SAM CLI melakukan panggilan layanan. AWS Untuk memperbaikinya, Anda harus mengatur AWS kredensional. Untuk informasi selengkapnya, lihat Menyiapkan AWS Kredensial di Panduan AWS Serverless Application Model Pengembang.
Pembersihan
Jika Anda tidak lagi membutuhkan AWS sumber daya yang Anda buat dengan menjalankan tutorial ini, Anda dapat menghapusnya dengan menghapus AWS CloudFormation tumpukan yang Anda gunakan.
Untuk menghapus AWS CloudFormation tumpukan yang dibuat dengan tutorial ini menggunakan AWS Management Console, ikuti langkah-langkah berikut:
Masuk ke AWS Management Console dan buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation
. -
Di panel navigasi sebelah kiri, pilih Tumpukan.
-
Dalam daftar tumpukan, pilih aplikasi sam (atau nama tumpukan yang Anda buat).
-
Pilih Hapus.
Setelah selesai, status dari tumpukan akan berubah menjadi DELETE_COMPLETE.
Atau, Anda dapat menghapus AWS CloudFormation tumpukan dengan menjalankan AWS CLI perintah berikut:
aws cloudformation delete-stack --stack-name
sam-app
--regionregion
Verifikasi Tumpukan yang Dihapus
Untuk kedua metode menghapus AWS CloudFormation tumpukan, Anda dapat memverifikasi bahwa tumpukan telah dihapus dengan membuka https://console.aws.amazon.com/cloudformation