Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS Lambda menyebarkan referensi tindakan
Anda menggunakan tindakan AWS Lambda penerapan untuk mengelola penerapan kode aplikasi untuk penerapan tanpa server. Anda dapat menerapkan fungsi dan menggunakan strategi penyebaran untuk penyebaran lalu lintas sebagai berikut:
-
Penyebaran kenari dan linier untuk perpindahan lalu lintas
-
Semua penyebaran sekaligus
catatan
Tindakan ini hanya didukung untuk pipeline tipe V2.
Topik
Tipe tindakan
-
Kategori:
Deploy
-
Pemilik:
AWS
-
Penyedia:
Lambda
-
Versi:
1
Parameter konfigurasi
- FunctionName
-
Wajib: Ya
Nama fungsi yang Anda buat di Lambda, seperti.
MyLambdaFunction
Anda harus sudah membuat versi.
- FunctionAlias
-
Wajib: Tidak
Alias fungsi yang Anda buat di Lambda dan merupakan fungsi yang akan digunakan, seperti.
live
Alias harus ada dan memiliki satu versi di belakangnya ketika eksekusi tindakan dimulai. (Ini akan menjadi versi target rollback.)Jika tidak disediakan, tindakan menyebarkan artefak sumber ke
$LATEST
dan membuat versi baru. Dalam kasus penggunaan ini, strategi penerapan dan opsi versi target tidak tersedia. - PublishedTargetVersion
-
Wajib: Tidak
Versi Fungsi Lambda yang diinginkan untuk digunakan. FunctionAlias Ini bisa berupa variabel pipeline atau level aksi, seperti
#{variables.lambdaTargetVersion}
. Versi harus dipublikasikan saat eksekusi tindakan dimulai.Diperlukan jika tidak ada artefak input yang disediakan.
- DeployStrategy
-
Wajib: Tidak (Default adalah
AllAtOnce
)Menentukan tingkat yang diadopsi tindakan penerapan Lambda untuk mengalihkan lalu lintas dari versi asli fungsi Lambda ke versi baru. FunctionAlias Strategi penyebaran yang tersedia adalah kenari atau linier. Format yang diterima:
-
AllAtOnce
-Menggeser semua lalu lintas ke fungsi Lambda yang diperbarui sekaligus.
Jika tidak ditentukan, defaultnya adalah
AllAtOnce
) -
Canary10Percent5Minutes
- Menggeser 10 persen lalu lintas pada kenaikan pertama. Sisanya 90 persen dikerahkan lima menit kemudian.Nilai untuk persentase dan menit dapat diubah.
-
Linear10PercentEvery1Minute
- Menggeser 10 persen lalu lintas setiap menit sampai semua lalu lintas bergeser.Nilai untuk persentase dan menit dapat diubah.
Pertimbangan berikut berlaku untuk bidang ini:
-
Total waktu tunggu maksimum adalah 2 hari.
-
Hanya tersedia jika FunctionAliasdisediakan.
-
- Alarm
-
Wajib: Tidak
Daftar nama alarm yang dipisahkan koma yang dikonfigurasi untuk penyebaran Lambda. Maksimal 10 alarm dapat ditambahkan. Tindakan gagal saat alarm yang dipantau masuk ke status ALARM.
Gambar berikut menunjukkan contoh halaman Edit untuk tindakan.

Artefak masukan
-
Jumlah artefak:
1
-
Deskripsi: File yang disediakan, jika ada, untuk mendukung tindakan skrip selama penyebaran.
Artefak keluaran
-
Jumlah artefak:
0
-
Deskripsi: Artefak keluaran tidak berlaku untuk jenis tindakan ini.
Variabel keluaran
Ketika dikonfigurasi, tindakan ini menghasilkan variabel yang dapat direferensikan oleh konfigurasi tindakan 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-variabel tersebut tersedia untuk konfigurasi tindakan hilir.
Untuk informasi selengkapnya, lihat Referensi variabel.
- FunctionVersion
-
Versi fungsi Lambda baru yang digunakan.
Izin kebijakan peran layanan untuk tindakan penerapan Lambda
Saat CodePipeline menjalankan tindakan, peran CodePipeline layanan memerlukan izin berikut, yang dicakup dengan tepat untuk akses dengan hak istimewa paling sedikit.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "StatementForLambda", "Effect": "Allow", "Action": [ "lambda:GetAlias", "lambda:GetFunctionConfiguration", "lambda:GetProvisionedConcurrencyConfig", "lambda:PublishVersion", "lambda:UpdateAlias", "lambda:UpdateFunctionCode" ], "Resource": [ "arn:aws:lambda:aws:{{customerAccountId}}:function:{{FunctionName}}", "arn:aws:lambda:aws:{{customerAccountId}}:function:{{FunctionName}}:*" ] }, { "Sid": "StatementForCloudWatch", "Effect": "Allow", "Action": [ "cloudwatch:DescribeAlarms" ], "Resource": [ "arn:aws:cloudwatch:aws:{{customerAccountId}}:alarm:{{AlarmNames}}" ] }, { "Sid": "StatementForLogs1", "Effect": "Allow", "Action": [ "logs:CreateLogGroup" ], "Resource": [ "arn:aws:logs:aws:{{customerAccountId}}:log-group:/aws/codepipeline/{{pipelineName}}", "arn:aws:logs:aws:{{customerAccountId}}:log-group:/aws/codepipeline/{{pipelineName}}:*" ] }, { "Sid": "StatementForLogs2", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:aws:{{customerAccountId}}:log-group:/aws/codepipeline/{{pipelineName}}:log-stream:*" ] } ] }
Deklarasi tindakan
Lihat juga
Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
-
Tutorial: Penerapan fungsi Lambda dengan CodePipeline— Tutorial ini memandu Anda melalui pembuatan contoh fungsi Lambda di mana Anda akan membuat alias dan versi, menambahkan fungsi Lambda zip ke lokasi sumber Anda, dan menjalankan tindakan Lambda di pipeline Anda.