AWS::Serverless::StateMachine - AWS Serverless Application Model

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

AWS::Serverless::StateMachine

Membuat mesin AWS Step Functions status, yang dapat Anda gunakan untuk mengatur AWS Lambda fungsi dan AWS sumber daya lainnya untuk membentuk alur kerja yang kompleks dan kuat.

Untuk informasi selengkapnya, lihat Step Functions dalam Panduan Developer AWS Step Functions.

catatan

Ketika Anda menyebarkan ke AWS CloudFormation, AWS SAM mengubah AWS SAM sumber daya Anda menjadi AWS CloudFormation sumber daya. Untuk informasi selengkapnya, lihat AWS CloudFormation Sumber daya yang dihasilkan untuk AWS SAM.

Sintaks

Untuk mendeklarasikan entitas ini dalam template AWS Serverless Application Model (AWS SAM) Anda, gunakan sintaks berikut.

YAML

Type: AWS::Serverless::StateMachine Properties: AutoPublishAlias: String UseAliasAsEventTarget: Boolean Definition: Map DefinitionSubstitutions: Map DefinitionUri: String | S3Location DeploymentPreference: DeploymentPreference Events: EventSource Logging: LoggingConfiguration Name: String PermissionsBoundary: String Policies: String | List | Map PropagateTags: Boolean RolePath: String Role: String Tags: Map Tracing: TracingConfiguration Type: String

Properti

AutoPublishAlias

Nama alias mesin negara. Untuk mempelajari selengkapnya tentang penggunaan alias mesin status Step Functions, lihat Mengelola penerapan berkelanjutan dengan versi dan alias di Panduan Pengembang.AWS Step Functions

Gunakan DeploymentPreference untuk mengonfigurasi preferensi penerapan untuk alias Anda. Jika Anda tidak menentukanDeploymentPreference, AWS SAM akan mengkonfigurasi lalu lintas untuk beralih ke versi mesin status yang lebih baru sekaligus.

AWS SAM menetapkan versi DeletionPolicy dan UpdateReplacePolicy ke secara Retain default. Versi sebelumnya tidak akan dihapus secara otomatis.

Tipe: String

Wajib: Tidak

AWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke Name properti AWS::StepFunctions::StateMachineAlias sumber daya.

UseAliasAsEventTarget

Tunjukkan apakah akan meneruskan alias, yang dibuat dengan menggunakan AutoPublishAlias properti, ke target sumber peristiwa yang ditentukan dengan Peristiwa.

Tentukan True untuk menggunakan alias sebagai target acara.

Tipe: Boolean

Wajib: Tidak

Default: False

AWS CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki AWS CloudFormation padanan.

Definition

Definisi mesin status adalah objek, di mana format objek cocok dengan format file AWS SAM template Anda, misalnya, JSON atauYAML. Ketentuan mesin status mematuhi Bahasa Status Amazon.

Untuk contoh ketentuan mesin status inline, lihat Contoh.

Anda harus menyediakan Definition atau DefinitionUri.

Tipe: Peta

Wajib: Bersyarat

AWS CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki AWS CloudFormation padanan.

DefinitionSubstitutions

string-to-string Peta yang menentukan pemetaan untuk variabel placeholder dalam definisi mesin status. Hal ini memungkinkan Anda untuk memasukkan nilai-nilai yang diperoleh pada saat waktu aktif (misalnya, dari fungsi intrinsik) ke dalam ketentuan mesin status.

Tipe: Peta

Wajib: Tidak

AWS CloudFormation kompatibilitas: Properti ini mirip dengan DefinitionSubstitutions properti AWS::StepFunctions::StateMachine sumber daya. Jika ada fungsi intrinsik yang ditentukan dalam definisi mesin status inline, AWS SAM tambahkan entri ke properti ini untuk menyuntikkannya ke dalam definisi mesin status.

DefinitionUri

Amazon Simple Storage Service (Amazon URI S3) atau jalur file lokal dari definisi mesin status yang ditulis dalam Bahasa Amazon States.

Jika Anda memberikan jalur file lokal, templat harus melalui alur kerja yang mencakup perintah sam deploy atau sam package untuk mengubah ketentuan dengan benar. Untuk melakukan ini, Anda harus menggunakan versi 0.52.0 atau yang lebih baru. AWS SAM CLI

Anda harus memberikan Definition atau DefinitionUri.

Tipe: String | S3Location

Wajib: Bersyarat

AWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke DefinitionS3Location properti AWS::StepFunctions::StateMachine sumber daya.

DeploymentPreference

Pengaturan yang mengaktifkan dan mengonfigurasi penerapan mesin status bertahap. Untuk mempelajari selengkapnya tentang penerapan bertahap Step Functions, lihat Mengelola penerapan berkelanjutan dengan versi dan alias di Panduan Pengembang.AWS Step Functions

Tentukan AutoPublishAlias sebelum mengkonfigurasi properti ini. DeploymentPreferencePengaturan Anda akan diterapkan ke alias yang ditentukan denganAutoPublishAlias.

Saat Anda menentukanDeploymentPreference, AWS SAM menghasilkan nilai StateMachineVersionArn sub-properti secara otomatis.

Jenis: DeploymentPreference

Wajib: Tidak

AWS CloudFormation kompatibilitas: AWS SAM menghasilkan dan melampirkan nilai StateMachineVersionArn properti ke DeploymentPreference dan meneruskan DeploymentPreference ke DeploymentPreference properti AWS::StepFunctions::StateMachineAlias sumber daya.

Events

Menentukan peristiwa yang memicu mesin status ini. Peristiwa terdiri dari tipe dan satu set properti yang bergantung pada tipenya.

Jenis: EventSource

Wajib: Tidak

AWS CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki AWS CloudFormation padanan.

Logging

Menentukan peristiwa riwayat eksekusi mana yang dicatat dan tempatnya dicatat.

Jenis: LoggingConfiguration

Wajib: Tidak

AWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke LoggingConfiguration properti AWS::StepFunctions::StateMachine sumber daya.

Name

Nama mesin status.

Tipe: String

Wajib: Tidak

AWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke StateMachineName properti AWS::StepFunctions::StateMachine sumber daya.

PermissionsBoundary

ARNBatas izin yang akan digunakan untuk peran eksekusi mesin status ini. Properti ini hanya bekerja jika peran tersebut dibuat untuk Anda.

Tipe: String

Wajib: Tidak

AWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke PermissionsBoundary properti AWS::IAM::Role sumber daya.

Policies

Kebijakan izin untuk mesin negara ini. Kebijakan akan ditambahkan ke peran eksekusi default AWS Identity and Access Management (IAM) state machine.

Properti ini menerima satu nilai atau daftar nilai. Nilai yang diizinkan meliputi:

catatan

Jika Anda menyetel Role properti, properti ini diabaikan.

Tipe: String | Daftar | Peta

Wajib: Tidak

AWS CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki AWS CloudFormation padanan.

PropagateTags

Tunjukkan apakah akan meneruskan tag dari Tags properti ke sumber daya yang Anda AWS::Serverless::StateMachine hasilkan atau tidak. Tentukan True untuk menyebarkan tag di sumber daya yang Anda hasilkan.

Tipe: Boolean

Wajib: Tidak

Default: False

AWS CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki AWS CloudFormation padanan.

Role

ARNPeran untuk digunakan sebagai IAM peran eksekusi mesin negara ini.

Tipe: String

Wajib: Bersyarat

AWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke RoleArn properti AWS::StepFunctions::StateMachine sumber daya.

RolePath

Jalan menuju peran IAM eksekusi mesin negara.

Gunakan properti ini saat peran dibuat untuk Anda. Jangan gunakan saat peran ditentukan dengan Role properti.

Tipe: String

Wajib: Bersyarat

AWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke Path properti AWS::IAM::Role sumber daya.

Tags

string-to-string Peta yang menentukan tag yang ditambahkan ke mesin status dan peran eksekusi yang sesuai. Untuk informasi tentang kunci dan nilai tag yang valid, lihat properti Tag dari AWS::StepFunctions::StateMachinesumber daya.

Tipe: Peta

Wajib: Tidak

AWS CloudFormation kompatibilitas: Properti ini mirip dengan Tags properti AWS::StepFunctions::StateMachine sumber daya. AWS SAM secara otomatis menambahkan stateMachine:createdBy:SAM tag ke sumber daya ini, dan ke peran default yang dihasilkan untuknya.

Tracing

Memilih apakah diaktifkan atau AWS X-Ray tidak untuk mesin status. Untuk informasi lebih lanjut tentang menggunakan X-Ray dengan Step Function, lihat AWS X-Ray dan Step Functions di Panduan Developer AWS Step Functions .

Jenis: TracingConfiguration

Wajib: Tidak

AWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke TracingConfiguration properti AWS::StepFunctions::StateMachine sumber daya.

Type

Tipe mesin status.

Nilai yang valid: STANDARD atau EXPRESS

Tipe: String

Wajib: Tidak

Default: STANDARD

AWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke StateMachineType properti AWS::StepFunctions::StateMachine sumber daya.

Nilai Pengembalian

Ref

Saat Anda memberikan ID logis sumber daya ini ke fungsi intrinsik Ref, Ref mengembalikan Amazon Resource Name (ARN) dari sumber daya yang mendasarinya. AWS::StepFunctions::StateMachine

Untuk informasi lebih lanjut tentang menggunakan fungsi Ref, lihat Ref di Panduan Pengguna AWS CloudFormation .

Fn:: GetAtt

Fn::GetAtt mengembalikan nilai untuk atribut yang ditentukan dari jenis ini. Berikut ini adalah atribut yang tersedia dan nilai-nilai kembali sampel.

Untuk informasi lebih lanjut cara menggunakan Fn::GetAtt, lihat Fn::GetAtt di Panduan Pengguna AWS CloudFormation

Name

Mengembalikan nama mesin status, seperti HelloWorld-StateMachine.

Contoh

File Ketentuan Mesin Status

Berikut ini adalah contoh definisi mesin status inline yang memungkinkan fungsi lambda untuk memanggil mesin status. Perhatikan bahwa contoh ini mengharapkan Role properti untuk mengonfigurasi kebijakan yang tepat untuk mengizinkan pemanggilan. File my_state_machine.asl.json harus ditulis dalam Bahasa Status Amazon.

Dalam contoh ini, DefinitionSubstitution entri memungkinkan mesin negara untuk menyertakan sumber daya yang dideklarasikan dalam file AWS SAM template.

YAML

MySampleStateMachine: Type: AWS::Serverless::StateMachine Properties: DefinitionUri: statemachine/my_state_machine.asl.json Role: arn:aws:iam::123456123456:role/service-role/my-sample-role Tracing: Enabled: true DefinitionSubstitutions: MyFunctionArn: !GetAtt MyFunction.Arn MyDDBTable: !Ref TransactionTable

Ketentuan Mesin Status Inline

Berikut ini adalah contoh dari ketentuan mesin status inline.

Dalam contoh ini, file AWS SAM template ditulisYAML, sehingga definisi mesin status juga masukYAML. Untuk mendeklarasikan definisi mesin status inline diJSON, tulis file AWS SAM template Anda. JSON

YAML

MySampleStateMachine: Type: AWS::Serverless::StateMachine Properties: Definition: StartAt: MyLambdaState States: MyLambdaState: Type: Task Resource: arn:aws:lambda:us-east-1:123456123456:function:my-sample-lambda-app End: true Role: arn:aws:iam::123456123456:role/service-role/my-sample-role Tracing: Enabled: true