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
danUpdateReplacePolicy
ke secaraRetain
default. Versi sebelumnya tidak akan dihapus secara otomatis.Tipe: String
Wajib: Tidak
AWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
Name
propertiAWS::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
atauDefinitionUri
.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
propertiAWS::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
atausam package
untuk mengubah ketentuan dengan benar. Untuk melakukan ini, Anda harus menggunakan versi 0.52.0 atau yang lebih baru. AWS SAM CLIAnda harus memberikan
Definition
atauDefinitionUri
.Tipe: String | S3Location
Wajib: Bersyarat
AWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
DefinitionS3Location
propertiAWS::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.DeploymentPreference
Pengaturan Anda akan diterapkan ke alias yang ditentukan denganAutoPublishAlias
.Saat Anda menentukan
DeploymentPreference
, AWS SAM menghasilkan nilaiStateMachineVersionArn
sub-properti secara otomatis.Jenis: DeploymentPreference
Wajib: Tidak
AWS CloudFormation kompatibilitas: AWS SAM menghasilkan dan melampirkan nilai
StateMachineVersionArn
properti keDeploymentPreference
dan meneruskanDeploymentPreference
keDeploymentPreference
propertiAWS::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
propertiAWS::StepFunctions::StateMachine
sumber daya. -
Name
-
Nama mesin status.
Tipe: String
Wajib: Tidak
AWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
StateMachineName
propertiAWS::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
propertiAWS::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:
-
Kebijakan ARN AWS terkelola atau kebijakan yang dikelola pelanggan.
-
Nama kebijakan AWS terkelola dari daftar
berikut. -
IAMKebijakan inline yang diformat YAML sebagai peta.
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.
-
Tunjukkan apakah akan meneruskan tag dari
Tags
properti ke sumber daya yang Anda AWS::Serverless::StateMachine hasilkan atau tidak. TentukanTrue
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
propertiAWS::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
propertiAWS::IAM::Role
sumber daya. -
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
propertiAWS::StepFunctions::StateMachine
sumber daya. AWS SAM secara otomatis menambahkanstateMachine: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
propertiAWS::StepFunctions::StateMachine
sumber daya. -
Type
-
Tipe mesin status.
Nilai yang valid:
STANDARD
atauEXPRESS
Tipe: String
Wajib: Tidak
Default:
STANDARD
AWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
StateMachineType
propertiAWS::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