Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Menggunakan AWS SAM untuk membangun alur kerja Step Functions

Mode fokus
Menggunakan AWS SAM untuk membangun 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.

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

Anda dapat menggunakan AWS Serverless Application Model Step Functions untuk membangun alur kerja dan menyebarkan infrastruktur yang Anda butuhkan, termasuk fungsi Lambda, APIs dan peristiwa, untuk membuat aplikasi tanpa server.

Anda juga dapat menggunakan AWS Serverless Application Model CLI bersama dengan AWS Toolkit for Visual Studio Code sebagai bagian dari pengalaman terintegrasi untuk membangun dan menyebarkan AWS Step Functions mesin status. Anda dapat membuat aplikasi nirserver dengan AWS SAM, kemudian membangun mesin status Anda di VS Code IDE. Kemudian Anda dapat memvalidasi, mengemas, dan menyebarkan sumber daya Anda.

Tip

Untuk menerapkan contoh aplikasi tanpa server yang memulai alur kerja Step Functions menggunakan AWS SAM, lihat Menerapkan dengan di Workshop. AWS SAM AWS Step Functions

Mengapa menggunakan Step Functions dengan AWS SAM?

Bila Anda menggunakan Step Functions dengan AWS SAM Anda dapat:

  • Mulai menggunakan template AWS SAM sampel.

  • Membangun mesin status Anda ke dalam aplikasi nirserver.

  • Gunakan substitusi variabel untuk mengganti ARNs ke mesin status Anda pada saat penerapan.

    AWS CloudFormation mendukung DefinitionSubstitutionsyang memungkinkan Anda menambahkan referensi dinamis dalam definisi alur kerja Anda ke nilai yang Anda berikan CloudFormation templat. Anda dapat menambahkan referensi dinamis dengan menambahkan substitusi ke definisi alur kerja Anda menggunakan notasi. ${dollar_sign_brace} Anda juga perlu menentukan referensi dinamis ini di DefinitionSubstitutions properti untuk StateMachine sumber daya di CloudFormation templat. Substitusi ini diganti dengan nilai aktual selama CloudFormation proses pembuatan tumpukan. Untuk informasi selengkapnya, lihat DefinitionSubstitutions di AWS SAM templat.

  • Tentukan peran mesin status Anda menggunakan templat AWS SAM kebijakan.

  • Memulai eksekusi mesin status dengan API Gateway, EventBridge peristiwa, atau pada jadwal dalam template Anda AWS SAM .

Integrasi Step Functions dengan spesifikasi AWS SAM

Anda dapat menggunakan Templat AWS SAM Kebijakan untuk menambahkan izin ke mesin status Anda. Dengan izin ini, Anda dapat mengatur fungsi Lambda dan sumber daya AWS lainnya untuk membentuk alur kerja yang kompleks dan kuat.

Integrasi Step Functions dengan SAM CLI

Step Functions terintegrasi dengan AWS SAM CLI. Gunakan ini untuk mengembangkan mesin status Anda ke dalam aplikasi nirserver dengan cepat.

Coba Buat mesin status Step Functions menggunakan AWS SAM tutorial untuk mempelajari cara menggunakan AWS SAM untuk membuat mesin negara.

Fungsi AWS SAM CLI yang didukung meliputi:

Perintah CLI Deskripsi
init sam

Menginisialisasi Aplikasi Tanpa Server dengan template. AWS SAM Dapat digunakan dengan templat SAM untuk Step Functions.

validasi sam Memvalidasi AWS SAM template.
paket sam

Paket AWS SAM aplikasi. Ini membuat file ZIP kode dan dependensi Anda, dan kemudian mengunggahnya ke Amazon S3. Kemudian mengembalikan salinan templat AWS SAM Anda, menggantikan referensi ke artefak lokal dengan lokasi Amazon S3 tempat perintah mengunggah artefak.

deploy sam Menyebarkan AWS SAM aplikasi.
terbitan sam

Publikasikan AWS SAM aplikasi ke AWS Serverless Application Repository. Perintah ini mengambil AWS SAM template yang dikemas dan menerbitkan aplikasi ke wilayah yang ditentukan.

catatan

Saat menggunakan AWS SAM lokal, Anda dapat meniru Lambda dan API Gateway secara lokal. Namun, Anda tidak dapat meniru Step Functions secara lokal menggunakan. AWS SAM

DefinitionSubstitutions di AWS SAM templat

Anda dapat menentukan mesin negara menggunakan CloudFormation template dengan AWS SAM. Menggunakan AWS SAM, Anda dapat menentukan mesin status sebaris di template atau dalam file terpisah. Berikut ini AWS SAM template termasuk mesin negara yang mensimulasikan alur kerja perdagangan saham. Mesin negara ini memanggil tiga Lambda berfungsi untuk mengecek harga suatu saham dan menentukan apakah akan membeli atau menjual saham tersebut. Transaksi ini kemudian dicatat dalam Amazon DynamoDB meja. ARNs Untuk Lambda fungsi dan DynamoDB tabel dalam template berikut ditentukan menggunakan DefinitionSubstitutions.

AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: | step-functions-stock-trader Sample SAM Template for step-functions-stock-trader Resources: StockTradingStateMachine: Type: AWS::Serverless::StateMachine Properties: DefinitionSubstitutions: StockCheckerFunctionArn: !GetAtt StockCheckerFunction.Arn StockSellerFunctionArn: !GetAtt StockSellerFunction.Arn StockBuyerFunctionArn: !GetAtt StockBuyerFunction.Arn DDBPutItem: !Sub arn:${AWS::Partition}:states:::dynamodb:putItem DDBTable: !Ref TransactionTable Policies: - DynamoDBWritePolicy: TableName: !Ref TransactionTable - LambdaInvokePolicy: FunctionName: !Ref StockCheckerFunction - LambdaInvokePolicy: FunctionName: !Ref StockBuyerFunction - LambdaInvokePolicy: FunctionName: !Ref StockSellerFunction DefinitionUri: statemachine/stock_trader.asl.json StockCheckerFunction: Type: AWS::Serverless::Function Properties: CodeUri: functions/stock-checker/ Handler: app.lambdaHandler Runtime: nodejs18.x Architectures: - x86_64 StockSellerFunction: Type: AWS::Serverless::Function Properties: CodeUri: functions/stock-seller/ Handler: app.lambdaHandler Runtime: nodejs18.x Architectures: - x86_64 StockBuyerFunction: Type: AWS::Serverless::Function Properties: CodeUri: functions/stock-buyer/ Handler: app.lambdaHandler Runtime: nodejs18.x Architectures: - x86_64 TransactionTable: Type: AWS::DynamoDB::Table Properties: AttributeDefinitions: - AttributeName: id AttributeType: S

Kode berikut adalah definisi mesin negara dalam file stock_trader.asl.json yang digunakan dalam Buat mesin status Step Functions menggunakan AWS SAM tutorial. Definisi mesin negara ini berisi beberapa DefinitionSubstitutions dilambangkan dengan notasi. ${dollar_sign_brace} Misalnya, alih-alih menentukan statis Lambda fungsi ARN untuk Check Stock Value tugas, substitusi digunakan${StockCheckerFunctionArn}. Substitusi ini didefinisikan dalam DefinitionSubstitutions properti template. DefinitionSubstitutionsadalah peta pasangan kunci-nilai untuk sumber daya mesin negara. DalamDefinitionSubstitutions, $ {StockCheckerFunctionArn} memetakan ke ARN StockCheckerFunction sumber daya menggunakan CloudFormation fungsi intrinsik. !GetAtt Saat Anda menggunakan AWS SAM template, DefinitionSubstitutions dalam template diganti dengan nilai aktual.

{ "Comment": "A state machine that does mock stock trading.", "StartAt": "Check Stock Value", "States": { "Check Stock Value": { "Type": "Task", "Resource": "arn:aws:states:::lambda:invoke", "OutputPath": "$.Payload", "Parameters": { "Payload.$": "$", "FunctionName": "${StockCheckerFunctionArn}" }, "Next": "Buy or Sell?" }, "Buy or Sell?": { "Type": "Choice", "Choices": [ { "Variable": "$.stock_price", "NumericLessThanEquals": 50, "Next": "Buy Stock" } ], "Default": "Sell Stock" }, "Buy Stock": { "Type": "Task", "Resource": "arn:aws:states:::lambda:invoke", "OutputPath": "$.Payload", "Parameters": { "Payload.$": "$", "FunctionName": "${StockBuyerFunctionArn}" }, "Retry": [ { "ErrorEquals": [ "Lambda.ServiceException", "Lambda.AWSLambdaException", "Lambda.SdkClientException", "Lambda.TooManyRequestsException" ], "IntervalSeconds": 1, "MaxAttempts": 3, "BackoffRate": 2 } ], "Next": "Record Transaction" }, "Sell Stock": { "Type": "Task", "Resource": "arn:aws:states:::lambda:invoke", "OutputPath": "$.Payload", "Parameters": { "Payload.$": "$", "FunctionName": "${StockSellerFunctionArn}" }, "Next": "Record Transaction" }, "Record Transaction": { "Type": "Task", "Resource": "arn:aws:states:::dynamodb:putItem", "Parameters": { "TableName": "${DDBTable}", "Item": { "Id": { "S.$": "$.id" }, "Type": { "S.$": "$.type" }, "Price": { "N.$": "$.price" }, "Quantity": { "N.$": "$.qty" }, "Timestamp": { "S.$": "$.timestamp" } } }, "End": true } } }

Langkah selanjutnya

Anda dapat mempelajari selengkapnya tentang penggunaan Step Functions AWS SAM dengan sumber daya berikut:

Anda juga dapat mendesain dan membangun alur kerja Anda di infrastruktur sebagai kode (IAc) menggunakan pembuat visual, seperti Workflow Studio di Infrastructure ComposerUntuk informasi selengkapnya, lihat Menggunakan Workflow Studio di Infrastructure Composer untuk membangun alur kerja Step Functions.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.