Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat EventBridge aturan untuk sumber Amazon S3 (CloudFormation templat)
Untuk menggunakan CloudFormation untuk membuat aturan, perbarui template Anda seperti yang ditunjukkan di sini.
Untuk membuat EventBridge aturan dengan Amazon S3 sebagai sumber acara dan CodePipeline sebagai target dan menerapkan kebijakan izin
-
Di template, di bawah
Resources, gunakanAWS::IAM::RoleCloudFormation sumber daya untuk mengonfigurasi peran IAM yang memungkinkan acara Anda memulai pipeline Anda. Entri ini membuat peran yang menggunakan dua kebijakan:-
Kebijakan pertama memungkinkan peran untuk diasumsikan.
-
Kebijakan kedua memberikan izin untuk memulai pipeline.
Mengapa saya membuat perubahan ini? Menambahkan
AWS::IAM::Rolesumber daya CloudFormation memungkinkan untuk membuat izin untuk EventBridge. Sumber daya ini ditambahkan ke CloudFormation tumpukan Anda. -
-
Gunakan sumber
AWS::Events::RuleCloudFormation daya untuk menambahkan EventBridge aturan. Pola peristiwa ini membuat peristiwa yang memantauCopyObject,PutObjectdanCompleteMultipartUploaddi bucket sumber Amazon S3 Anda. Selain itu, sertakan target pipeline Anda. KetikaCopyObject,PutObject, atauCompleteMultipartUploadterjadi, aturan ini dipanggilStartPipelineExecutionpada pipeline target Anda.Mengapa saya membuat perubahan ini? Menambahkan
AWS::Events::Rulesumber daya CloudFormation memungkinkan untuk membuat acara. Sumber daya ini ditambahkan ke CloudFormation tumpukan Anda. -
Tambahkan cuplikan ini ke template pertama Anda untuk memungkinkan fungsionalitas cross-stack:
-
(Opsional) Untuk mengonfigurasi transformator input dengan penggantian sumber untuk ID gambar tertentu, gunakan cuplikan YAML berikut. Contoh berikut mengonfigurasi penggantian di mana:
-
Dalam
actionNamecontoh ini, adalah nilai dinamis, didefinisikan pada pembuatan pipeline, bukan berasal dari peristiwa sumber.Source -
Dalam
revisionTypecontoh ini, adalah nilai dinamis, didefinisikan pada pembuatan pipeline, bukan berasal dari peristiwa sumber.S3_OBJECT_VERSION_ID -
revisionValue, <revisionValue> dalam contoh ini, diturunkan dari variabel peristiwa sumber.
--- Rule: my-rule Targets: - Id: MyTargetId Arn:pipeline-ARNInputTransformer: InputPathsMap: revisionValue: "$.detail.object.version-id" InputTemplate: sourceRevisions: actionName:SourcerevisionType:S3_OBJECT_VERSION_IDrevisionValue: '<revisionValue>' -
-
Simpan template yang diperbarui ke komputer lokal Anda, dan buka CloudFormation konsol.
-
Pilih tumpukan Anda, lalu pilih Buat Set Perubahan untuk Tumpukan Saat Ini.
-
Unggah template yang diperbarui, lalu lihat perubahan yang tercantum di CloudFormation. Ini adalah perubahan yang akan dilakukan pada tumpukan. Anda harus melihat sumber daya baru Anda dalam daftar.
-
Pilih Eksekusi.
Untuk mengedit PollForSourceChanges parameter pipeline
penting
Saat Anda membuat pipeline dengan metode ini, PollForSourceChanges parameter default menjadi true jika tidak secara eksplisit disetel ke false. Saat menambahkan deteksi perubahan berbasis peristiwa, Anda harus menambahkan parameter ke output dan menyetelnya ke false untuk menonaktifkan polling. Jika tidak, pipeline Anda dimulai dua kali untuk satu perubahan sumber. Lihat perinciannya di Pengaturan yang valid untuk PollForSourceChanges parameter.
-
Di template, ubah
PollForSourceChangeskefalse. Jika Anda tidak menyertakanPollForSourceChangesdalam definisi pipeline Anda, tambahkan dan setel kefalse.Mengapa saya membuat perubahan ini? Meng
PollForSourceChangesubahfalsemenjadi mematikan pemeriksaan berkala sehingga Anda dapat menggunakan deteksi perubahan berbasis peristiwa saja.
Untuk membuat template kedua untuk CloudTrail sumber daya pipeline Amazon S3 Anda
-
Dalam template terpisah, di bawah
Resources, gunakanAWS::S3::Bucket,AWS::S3::BucketPolicy, danAWS::CloudTrail::TrailCloudFormation sumber daya untuk memberikan definisi bucket dan jejak sederhana untuk CloudTrail.Mengapa saya membuat perubahan ini? Mengingat batas saat ini lima jalur per akun, CloudTrail jalur harus dibuat dan dikelola secara terpisah. (Lihat Batas di AWS CloudTrail.) Namun, Anda dapat menyertakan banyak bucket Amazon S3 pada satu jejak, sehingga Anda dapat membuat jejak satu kali dan kemudian menambahkan bucket Amazon S3 untuk pipeline lain seperlunya. Tempelkan yang berikut ini ke file template sampel kedua Anda.