View a markdown version of this page

Referensi tindakan sumber Amazon S3 - AWS CodePipeline

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

Referensi tindakan sumber Amazon S3

Tindakan sumber memicu pipeline saat objek baru diunggah ke bucket dan kunci objek yang dikonfigurasi.

Topik referensi ini menjelaskan tindakan sumber Amazon S3 untuk CodePipeline lokasi sumber adalah bucket Amazon S3 yang dikonfigurasi untuk pembuatan versi. Untuk informasi referensi tentang tindakan penerapan Amazon S3 di CodePipeline, lihatReferensi tindakan penyebaran Amazon S3.

Sebelum menghubungkan pipeline, buat bucket sumber Amazon S3, aktifkan pembuatan versi, dan unggah file sumber Anda sebagai file ZIP tunggal.

Anda dapat membuat bucket baru di Amazon S3 atau memilih bucket Amazon S3 yang ada untuk digunakan sebagai lokasi sumber untuk file aplikasi Anda. Untuk informasi selengkapnya tentang mengaktifkan pembuatan versi, lihat Menggunakan pembuatan versi di Panduan Pengguna Amazon S3.

Jika Amazon S3 adalah penyedia sumber untuk pipeline Anda, Anda dapat membuat zip file sumber, atau file, ke dalam satu .zip dan mengunggah.zip ke bucket sumber Anda. Anda juga dapat mengunggah satu file unzip; namun, tindakan hilir yang mengharapkan file.zip akan gagal.

Jika Anda menggunakan konsol untuk membuat atau mengedit pipeline CodePipeline , buat EventBridge aturan yang memulai pipeline Anda saat terjadi perubahan di bucket sumber Amazon S3.

Anda juga dapat membuat penggantian sumber menggunakan entri transformasi input untuk menggunakan revisionValue in EventBridge untuk peristiwa pipeline Anda, di mana revisionValue ini berasal dari variabel peristiwa sumber untuk kunci objek, komit, atau ID gambar Anda. Untuk informasi selengkapnya, lihat langkah opsional untuk entri transformasi input yang disertakan dalam prosedur di bawahMenghubungkan ke tindakan sumber Amazon S3 dengan sumber diaktifkan untuk acara.

Tipe tindakan

  • Kategori: Source

  • Pemilik: AWS

  • Penyedia: S3

  • Versi: 1

Parameter konfigurasi

S3Bucket

Wajib: Ya

Nama bucket Amazon S3 tempat perubahan sumber akan dideteksi.

S3ObjectKey

Wajib: Ya

Nama kunci objek Amazon S3 tempat perubahan sumber akan dideteksi.

AllowOverrideForS3ObjectKey

Wajib: Tidak

AllowOverrideForS3ObjectKeymengontrol apakah penggantian sumber dari StartPipelineExecution dapat mengganti yang sudah dikonfigurasi S3ObjectKey dalam tindakan sumber. Untuk informasi selengkapnya tentang penggantian sumber dengan S3 Object Key, lihatMemulai pipeline dengan penggantian revisi sumber.

penting

Jika Anda menghilangkanAllowOverrideForS3ObjectKey, CodePipeline default kemampuan untuk mengganti S3 ObjectKey dalam tindakan sumber dengan menyetel parameter ini ke. false

Nilai yang valid untuk parameter ini:

  • true: Jika disetel, Kunci Objek S3 yang telah dikonfigurasi sebelumnya dapat diganti oleh penggantian revisi sumber selama eksekusi pipeline.

    catatan

    Jika Anda ingin mengizinkan semua CodePipeline pengguna kemampuan untuk mengganti Kunci Objek S3 yang telah dikonfigurasi sebelumnya saat memulai eksekusi pipeline baru, Anda harus menyetel ke. AllowOverrideForS3ObjectKey true

  • false:

    Jika disetel, tidak CodePipeline akan mengizinkan S3 Object Key diganti menggunakan penggantian revisi sumber. Ini juga merupakan nilai default untuk parameter ini.

PollForSourceChanges

Wajib: Tidak

PollForSourceChangesmengontrol apakah CodePipeline melakukan polling pada bucket sumber Amazon S3 untuk perubahan sumber. Sebaiknya gunakan Ev CloudWatch ents dan CloudTrail mendeteksi perubahan sumber sebagai gantinya. Untuk informasi selengkapnya tentang mengonfigur CloudWatch asi Acara, lihat Migrasikan pipeline polling dengan sumber S3 dan CloudTrail jejak (CLI) atauMigrasikan pipeline polling dengan sumber dan CloudTrail jejak S3 (CloudFormation templat).

penting

Jika Anda ingin mengonfigurasi CloudWatch Events, Anda harus mengatur PollForSourceChanges false untuk menghindari eksekusi pipeline duplikat.

Nilai yang valid untuk parameter ini:

  • true: Jika disetel, CodePipeline jajak lokasi sumber Anda untuk perubahan sumber.

    catatan

    Jika Anda menghilangkanPollForSourceChanges, CodePipeline default akan melakukan polling lokasi sumber Anda untuk perubahan sumber. Perilaku ini sama seperti jika PollForSourceChanges disertakan dan disetel ketrue.

  • false: Jika disetel, CodePipeline tidak melakukan polling lokasi sumber Anda untuk perubahan sumber. Gunakan setelan ini jika Anda ingin mengonfigurasi aturan Per CloudWatch istiwa untuk mendeteksi perubahan sumber.

Artefak masukan

  • Jumlah Artefak: 0

  • Deskripsi: Artefak masukan tidak berlaku untuk jenis tindakan ini.

Artefak keluaran

  • Jumlah artefak: 1

  • Deskripsi: Menyediakan artefak yang tersedia di bucket sumber yang dikonfigurasi untuk terhubung ke pipeline. Artefak yang dihasilkan dari bucket adalah artefak keluaran untuk tindakan Amazon S3. Metadata objek Amazon S3 (ETag dan ID versi) ditampilkan CodePipeline sebagai revisi sumber untuk eksekusi pipeline yang dipicu.

Variabel keluaran

Ketika dikonfigurasi, tindakan ini menghasilkan variabel yang dapat direferensikan oleh konfigurasi tindakan hilir dalam pipeline. Tindakan ini menghasilkan variabel yang dapat dilihat sebagai variabel keluaran, bahkan jika tindakan tidak memiliki namespace. Anda mengonfigurasi tindakan dengan namespace untuk membuat variabel tersebut tersedia untuk konfigurasi tindakan hilir.

Untuk informasi lebih lanjut tentang variabel di CodePipeline, lihatReferensi variabel.

BucketName

Nama bucket Amazon S3 terkait dengan perubahan sumber yang memicu pipeline.

ETag

Tag entitas untuk objek yang terkait dengan perubahan sumber yang memicu pipeline. ETag adalah hash MD5 dari objek. ETag hanya mencerminkan perubahan pada konten objek, bukan metadatanya.

ObjectKey

Nama kunci objek Amazon S3 terkait dengan perubahan sumber yang memicu pipeline.

VersionId

ID versi untuk versi objek yang terkait dengan perubahan sumber yang memicu pipeline.

Izin peran layanan: tindakan sumber S3

Untuk dukungan tindakan sumber S3, tambahkan berikut ini ke pernyataan kebijakan Anda:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetBucketVersioning", "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:GetObjectTagging", "s3:GetObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::[[S3Bucket]]", "arn:aws:s3:::[[S3Bucket]]/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "111122223333" } } } ] }

Deklarasi tindakan

YAML
Name: Source Actions: - RunOrder: 1 OutputArtifacts: - Name: SourceArtifact ActionTypeId: Provider: S3 Owner: AWS Version: '1' Category: Source Region: us-west-2 Name: Source Configuration: S3Bucket: amzn-s3-demo-source-bucket S3ObjectKey: my-application.zip PollForSourceChanges: 'false' InputArtifacts: []
JSON
{ "Name": "Source", "Actions": [ { "RunOrder": 1, "OutputArtifacts": [ { "Name": "SourceArtifact" } ], "ActionTypeId": { "Provider": "S3", "Owner": "AWS", "Version": "1", "Category": "Source" }, "Region": "us-west-2", "Name": "Source", "Configuration": { "S3Bucket": "amzn-s3-demo-source-bucket", "S3ObjectKey": "my-application.zip", "PollForSourceChanges": "false" }, "InputArtifacts": [] } ] },

Sumber daya terkait berikut dapat membantu Anda saat Anda mengerjakan tindakan ini.

  • Tutorial: Buat pipeline sederhana (bucket S3)- Tutorial ini menyediakan AppSpec file sampel dan contoh CodeDeploy aplikasi dan grup penerapan. Gunakan tutorial ini untuk membuat pipeline dengan sumber Amazon S3 yang diterapkan ke instans Amazon EC2.