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”.

Buat pipeline dengan sumber S3 yang diaktifkan untuk acara (CLI)

Mode fokus
Buat pipeline dengan sumber S3 yang diaktifkan untuk acara (CLI) - AWS CodePipeline

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.

Ikuti langkah-langkah ini untuk membuat pipeline dengan sumber S3 yang menggunakan peristiwa EventBridge untuk deteksi perubahan. Untuk langkah-langkah lengkap untuk membuat pipeline dengan CLI, lihat. Buat pipeline, tahapan, dan tindakan

Untuk membuat pipeline berbasis peristiwa dengan Amazon S3, Anda mengedit PollForSourceChanges parameter pipeline, lalu membuat sumber daya berikut:

  • EventBridge aturan acara

  • Peran IAM untuk memungkinkan EventBridge acara memulai pipeline Anda

Untuk membuat EventBridge aturan dengan Amazon S3 sebagai sumber peristiwa dan CodePipeline sebagai target dan menerapkan kebijakan izin
  1. Berikan izin EventBridge untuk digunakan CodePipeline untuk menjalankan aturan. Untuk informasi selengkapnya, lihat Menggunakan kebijakan berbasis sumber daya untuk Amazon. EventBridge

    1. Gunakan contoh berikut untuk membuat kebijakan kepercayaan agar memungkinkan EventBridge untuk mengambil peran layanan. Namai itutrustpolicyforEB.json.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Gunakan perintah berikut untuk membuat Role-for-MyRule peran dan melampirkan kebijakan kepercayaan.

      Mengapa saya membuat perubahan ini? Menambahkan kebijakan kepercayaan ini ke peran akan membuat izin untuk EventBridge.

      aws iam create-role --role-name Role-for-MyRule --assume-role-policy-document file://trustpolicyforEB.json
    3. Buat kebijakan izin JSON, seperti yang ditunjukkan di sini untuk pipeline bernama. MyFirstPipeline Beri nama kebijakan permissionspolicyforEB.json izin.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codepipeline:StartPipelineExecution" ], "Resource": [ "arn:aws:codepipeline:us-west-2:80398EXAMPLE:MyFirstPipeline" ] } ] }
    4. Gunakan perintah berikut untuk melampirkan kebijakan CodePipeline-Permissions-Policy-for-EB izin baru ke Role-for-MyRule peran yang Anda buat.

      aws iam put-role-policy --role-name Role-for-MyRule --policy-name CodePipeline-Permissions-Policy-For-EB --policy-document file://permissionspolicyforEB.json
  2. Panggil put-rule perintah dan sertakan--name,--event-pattern, dan --role-arn parameter.

    Contoh perintah berikut membuat aturan bernamaEnabledS3SourceRule.

    aws events put-rule --name "EnabledS3SourceRule" --event-pattern "{\"source\":[\"aws.s3\"],\"detail-type\":[\"Object Created\"],\"detail\":{\"bucket\":{\"name\":[\"amzn-s3-demo-source-bucket\"]}}}" --role-arn "arn:aws:iam::ACCOUNT_ID:role/Role-for-MyRule"
  3. Untuk menambahkan CodePipeline sebagai target, panggil put-targets perintah dan sertakan --targets parameter --rule dan.

    Perintah berikut menentukan bahwa untuk aturan bernamaEnabledS3SourceRule, target Id terdiri dari nomor satu, menunjukkan bahwa dalam daftar target untuk aturan, ini adalah target 1. Perintah ini juga menentukan contoh ARN untuk pipeline. Pipeline dimulai ketika sesuatu berubah di repositori.

    aws events put-targets --rule EnabledS3SourceRule --targets Id=codepipeline-AppPipeline,Arn=arn:aws:codepipeline:us-west-2:80398EXAMPLE:TestPipeline
Untuk mengedit PollForSourceChanges parameter pipeline
penting

Saat Anda membuat pipeline dengan metode ini, PollForSourceChanges parameter default ke true jika tidak secara eksplisit disetel ke false. Saat Anda menambahkan deteksi perubahan berbasis peristiwa, Anda harus menambahkan parameter ke output Anda dan mengaturnya ke false untuk menonaktifkan polling. Jika tidak, pipeline Anda dimulai dua kali untuk satu perubahan sumber. Untuk detailnya, lihat Pengaturan yang valid untuk PollForSourceChanges parameter.

  1. Jalankan get-pipeline perintah untuk menyalin struktur pipa ke file JSON. Misalnya, untuk pipeline bernamaMyFirstPipeline, jalankan perintah berikut:

    aws codepipeline get-pipeline --name MyFirstPipeline >pipeline.json

    Perintah ini tidak mengembalikan apa pun, tetapi file yang Anda buat akan muncul di direktori tempat Anda menjalankan perintah.

  2. Buka file JSON di editor teks biasa dan edit tahap sumber dengan mengubah PollForSourceChanges parameter untuk bucket bernama amzn-s3-demo-source-bucketfalse, seperti yang ditunjukkan dalam contoh ini.

    Mengapa saya membuat perubahan ini? Menyetel parameter ini untuk false mematikan pemeriksaan berkala sehingga Anda hanya dapat menggunakan deteksi perubahan berbasis peristiwa.

    "configuration": { "S3Bucket": "amzn-s3-demo-source-bucket", "PollForSourceChanges": "false", "S3ObjectKey": "index.zip" },
  3. Jika Anda bekerja dengan struktur pipa yang diambil menggunakan get-pipeline perintah, Anda harus menghapus metadata baris dari file JSON. Jika tidak, update-pipeline perintah tidak dapat menggunakannya. Hapus "metadata": { } garis dan"created","pipelineARN", dan "updated" bidang.

    Misalnya, hapus baris berikut dari struktur:

    "metadata": { "pipelineArn": "arn:aws:codepipeline:region:account-ID:pipeline-name", "created": "date", "updated": "date" },

    Simpan file tersebut.

  4. Untuk menerapkan perubahan Anda, jalankan update-pipeline perintah, dengan menentukan file JSON pipeline:

    penting

    Pastikan untuk menyertakan file:// sebelum nama file. Diperlukan dalam perintah ini.

    aws codepipeline update-pipeline --cli-input-json file://pipeline.json

    Perintah ini mengembalikan seluruh struktur pipa yang diedit.

    catatan

    update-pipelinePerintah menghentikan pipa. Jika revisi sedang dijalankan melalui pipeline saat Anda menjalankan update-pipeline perintah, proses itu dihentikan. Anda harus memulai pipeline secara manual untuk menjalankan revisi itu melalui pipeline yang diperbarui. Gunakan start-pipeline-execution perintah untuk memulai pipeline Anda secara manual.

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