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:StringUseAliasAsEventTarget:BooleanDefinition:MapDefinitionSubstitutions:MapDefinitionUri:String | S3LocationDeploymentPreference:DeploymentPreferenceEvents:EventSourceLogging:LoggingConfigurationName:StringPermissionsBoundary:StringPolicies:String | List | MapPropagateTags:BooleanRolePath:StringRole:StringTags:MapTracing:TracingConfigurationType: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
DeploymentPreferenceuntuk 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
DeletionPolicydanUpdateReplacePolicyke secaraRetaindefault. Versi sebelumnya tidak akan dihapus secara otomatis.Tipe: String
Wajib: Tidak
AWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
NamepropertiAWS::StepFunctions::StateMachineAliassumber daya. -
UseAliasAsEventTarget -
Tunjukkan apakah akan meneruskan alias, yang dibuat dengan menggunakan
AutoPublishAliasproperti, ke target sumber peristiwa yang ditentukan dengan Peristiwa.Tentukan
Trueuntuk menggunakan alias sebagai target acara.Tipe: Boolean
Wajib: Tidak
Default:
FalseAWS 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 atau YAMAL. Ketentuan mesin status mematuhi Bahasa Status Amazon.
Untuk contoh ketentuan mesin status inline, lihat Contoh.
Anda harus menyediakan
DefinitionatauDefinitionUri.Tipe: Peta
Wajib: Bersyarat
AWS CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki AWS CloudFormation padanan.
-
DefinitionSubstitutions -
string-to-stringPeta 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
DefinitionSubstitutionspropertiAWS::StepFunctions::StateMachinesumber 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 -
URI Amazon Simple Storage Service (Amazon S3) atau jalur file lokal dari ketentuan mesin status yang ditulis di Bahasa Status Amazon.
Jika Anda memberikan jalur file lokal, templat harus melalui alur kerja yang mencakup perintah
sam deployatausam packageuntuk mengubah ketentuan dengan benar. Untuk melakukannya, Anda harus menggunakan CLI AWS SAM versi 0.52.0 atau yang lebih baru.Anda harus memberikan
DefinitionatauDefinitionUri.Tipe: String | S3Location
Wajib: Bersyarat
AWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
DefinitionS3LocationpropertiAWS::StepFunctions::StateMachinesumber 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
AutoPublishAliassebelum mengkonfigurasi properti ini.DeploymentPreferencePengaturan Anda akan diterapkan ke alias yang ditentukan denganAutoPublishAlias.Saat Anda menentukan
DeploymentPreference, AWS SAM menghasilkan nilaiStateMachineVersionArnsub-properti secara otomatis.Jenis: DeploymentPreference
Wajib: Tidak
AWS CloudFormation kompatibilitas: AWS SAM menghasilkan dan melampirkan nilai
StateMachineVersionArnproperti keDeploymentPreferencedan meneruskanDeploymentPreferencekeDeploymentPreferencepropertiAWS::StepFunctions::StateMachineAliassumber 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
LoggingConfigurationpropertiAWS::StepFunctions::StateMachinesumber daya. -
Name -
Nama mesin status.
Tipe: String
Wajib: Tidak
AWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
StateMachineNamepropertiAWS::StepFunctions::StateMachinesumber daya. -
PermissionsBoundary -
ARN batas izin untuk 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
PermissionsBoundarypropertiAWS::IAM::Rolesumber daya. -
Policies -
Kebijakan izin untuk mesin negara ini. Kebijakan akan ditambahkan ke peran eksekusi default mesin negara AWS Identity and Access Management (IAM).
Properti ini menerima satu nilai atau daftar nilai. Nilai yang diizinkan meliputi:
-
Bagian ARN dari kebijakan AWS terkelola atau kebijakan yang dikelola pelanggan.
-
Nama kebijakan AWS terkelola dari daftar
berikut. -
Kebijakan IAM sebaris yang diformat YAML sebagai peta.
catatan
Jika Anda menyetel
Roleproperti, 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
Tagsproperti ke sumber daya yang Anda AWS::Serverless::StateMachine hasilkan atau tidak. TentukanTrueuntuk menyebarkan tag di sumber daya yang Anda hasilkan.Tipe: Boolean
Wajib: Tidak
Default:
FalseAWS CloudFormation kompatibilitas: Properti ini unik AWS SAM dan tidak memiliki AWS CloudFormation padanan.
-
Role -
ARN IAM role untuk digunakan sebagai peran eksekusi mesin status ini.
Tipe: String
Wajib: Bersyarat
AWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
RoleArnpropertiAWS::StepFunctions::StateMachinesumber daya. -
RolePath -
Jalur ke peran eksekusi IAM mesin negara.
Gunakan properti ini saat peran dibuat untuk Anda. Jangan gunakan saat peran ditentukan dengan
Roleproperti.Tipe: String
Wajib: Bersyarat
AWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
PathpropertiAWS::IAM::Rolesumber daya. -
string-to-stringPeta yang menentukan tag yang ditambahkan ke mesin status dan peran eksekusi yang sesuai. Untuk informasi tentang kunci dan nilai yang valid untuk tag, lihat properti Tag AWS::StepFunctions::StateMachinesumber daya.
Tipe: Peta
Wajib: Tidak
AWS CloudFormation kompatibilitas: Properti ini mirip dengan
TagspropertiAWS::StepFunctions::StateMachinesumber daya. AWS SAM secara otomatis menambahkanstateMachine:createdBy:SAMtag 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
TracingConfigurationpropertiAWS::StepFunctions::StateMachinesumber daya. -
Type -
Tipe mesin status.
Nilai yang valid:
STANDARDatauEXPRESSTipe: String
Wajib: Tidak
Default:
STANDARDAWS CloudFormation kompatibilitas: Properti ini diteruskan langsung ke
StateMachineTypepropertiAWS::StepFunctions::StateMachinesumber daya.
Nilai Pengembalian
Ref
Bila Anda memberikan ID logis dari sumber daya ini ke fungsi intrinsik Ref, Ref mengembalikan Amazon Resource Name (ARN) dari sumber daya AWS::StepFunctions::StateMachineutama.
Untuk informasi lebih lanjut tentang penggunaan 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 ditulis dalam YAMAL, sehingga definisi mesin status juga dalam YAMAL. Untuk mendeklarasikan definisi mesin status inline di JSON, tulis file AWS SAM template Anda di 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