Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS Lambda memanggil referensi tindakan
Memungkinkan Anda menjalankan fungsi Lambda sebagai tindakan dalam pipeline Anda. Menggunakan objek peristiwa yang merupakan input ke fungsi ini, fungsi memiliki akses ke konfigurasi tindakan, lokasi artefak input, lokasi artefak keluaran, dan informasi lain yang diperlukan untuk mengakses artefak. Untuk contoh peristiwa yang diteruskan ke fungsi panggil Lambda, lihat. Contoh peristiwa JSON Sebagai bagian dari implementasi fungsi Lambda, harus ada panggilan ke PutJobSuccessResult
API atauPutJobFailureResult API. Jika tidak, eksekusi tindakan ini terhenti sampai waktu tindakan habis. Jika Anda menentukan artefak keluaran untuk tindakan, artefak tersebut harus diunggah ke bucket S3 sebagai bagian dari implementasi fungsi.
penting
Jangan mencatat peristiwa JSON yang CodePipeline dikirim ke Lambda karena ini dapat mengakibatkan kredenSIAL pengguna masuk ke Log CloudWatch . CodePipeline Peran menggunakan peristiwa JSON untuk meneruskan kredenSIAL sementara ke Lambda di artifactCredentials lapangan. Untuk contoh acara, lihatContoh peristiwa JSON.
Tipe tindakan
-
Kategori:
Invoke -
Pemilik:
AWS -
Penyedia:
Lambda -
Versi:
1
Parameter konfigurasi
- FunctionName
-
Wajib: Ya
FunctionNameadalah nama fungsi yang dibuat di Lambda. - UserParameters
-
Wajib: Tidak
Sebuah string yang dapat diproses sebagai input oleh fungsi Lambda.
Artefak masukan
-
Jumlah Artefak:
0 to 5 -
Deskripsi: Kumpulan artefak yang akan tersedia untuk fungsi Lambda.
Artefak keluaran
-
Jumlah Artefak:
0 to 5 -
Deskripsi: Kumpulan artefak yang dihasilkan sebagai output oleh fungsi Lambda.
Variabel keluaran
Tindakan ini akan menghasilkan sebagai variabel semua pasangan kunci-nilai yang disertakan dalam outputVariables bagian permintaan PutJobSuccessResult API.
Untuk informasi lebih lanjut tentang variabel di CodePipeline, lihatReferensi variabel.
Contoh konfigurasi tindakan
Contoh peristiwa JSON
Tindakan Lambda mengirimkan peristiwa JSON yang berisi ID pekerjaan, konfigurasi tindakan pipeline, lokasi artefak input dan output, dan informasi enkripsi apa pun untuk artefak. Pekerja pekerjaan mengakses detail ini untuk menyelesaikan tindakan Lambda. Untuk informasi selengkapnya, lihat detail pekerjaan. Berikut adalah contoh kasusnya.
{ "CodePipeline.job": { "id": "11111111-abcd-1111-abcd-111111abcdef", "accountId": "111111111111", "data": { "actionConfiguration": { "configuration": { "FunctionName": "MyLambdaFunction", "UserParameters": "input_parameter" } }, "inputArtifacts": [ { "location": { "s3Location": { "bucketName": "bucket_name", "objectKey": "filename" }, "type": "S3" }, "revision": null, "name": "ArtifactName" } ], "outputArtifacts": [], "artifactCredentials": { "secretAccessKey": "secret_key", "sessionToken": "session_token", "accessKeyId": "access_key_ID" }, "continuationToken": "token_ID", "encryptionKey": { "id": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "type": "KMS" } } } }
Acara JSON menyediakan detail pekerjaan berikut untuk tindakan Lambda di: CodePipeline
-
id: ID pekerjaan yang dibuat sistem yang unik. -
accountId: ID AWS akun yang terkait dengan pekerjaan. -
data: Informasi lain yang diperlukan pekerja pekerjaan untuk menyelesaikan pekerjaan.-
actionConfiguration: Parameter tindakan untuk tindakan Lambda. Untuk definisi, lihatParameter konfigurasi. -
inputArtifacts: Artefak yang dipasok ke aksi.-
location: Lokasi toko artefak.-
s3Location: Informasi lokasi artefak masukan untuk tindakan.-
bucketName: Nama penyimpanan artefak pipeline untuk tindakan (misalnya, bucket Amazon S3 bernama codepipeline-us-east-2-1234567890). -
objectKey: Nama aplikasi (misalnya,CodePipelineDemoApplication.zip).
-
-
type: Jenis artefak di lokasi. Saat ini,S3adalah satu-satunya jenis artefak yang valid.
-
-
revision: ID revisi artefak. Tergantung pada jenis objek, ini bisa berupa commit ID (GitHub) atau ID revisi (Amazon Simple Storage Service). Untuk informasi selengkapnya, lihat ArtifactRevision. -
name: Nama artefak yang akan dikerjakan, sepertiMyApp.
-
-
outputArtifacts: Output dari tindakan.-
location: Lokasi toko artefak.-
s3Location: Informasi lokasi artefak keluaran untuk tindakan.-
bucketName: Nama penyimpanan artefak pipeline untuk tindakan (misalnya, bucket Amazon S3 bernama codepipeline-us-east-2-1234567890). -
objectKey: Nama aplikasi (misalnya,CodePipelineDemoApplication.zip).
-
-
type: Jenis artefak di lokasi. Saat ini,S3adalah satu-satunya jenis artefak yang valid.
-
-
revision: ID revisi artefak. Tergantung pada jenis objek, ini bisa berupa commit ID (GitHub) atau ID revisi (Amazon Simple Storage Service). Untuk informasi selengkapnya, lihat ArtifactRevision. -
name: Nama keluaran artefak, sepertiMyApp.
-
-
artifactCredentials: KredenSIAL AWS sesi yang digunakan untuk mengakses artefak input dan output di bucket Amazon S3. KredenSIAL ini adalah kredenSIAL sementara yang dikeluarkan oleh AWS Security Token Service (AWS STS).-
secretAccessKey: Kunci akses rahasia untuk sesi. -
sessionToken: Token untuk sesi. -
accessKeyId: ID kunci akses untuk sesi.
-
-
continuationToken: Token yang dihasilkan oleh tindakan. Tindakan mendatang menggunakan token ini untuk mengidentifikasi instance tindakan yang sedang berjalan. Ketika tindakan selesai, tidak ada token lanjutan yang harus diberikan. -
encryptionKey: Kunci enkripsi yang digunakan untuk mengenkripsi data di penyimpanan artefak, seperti AWS KMS kunci. Jika ini tidak ditentukan, kunci default untuk Amazon Simple Storage Service digunakan.-
id: ID yang digunakan untuk mengidentifikasi kunci. Untuk AWS KMS kunci, Anda dapat menggunakan ID kunci, kunci ARN, atau alias ARN. -
type: Jenis kunci enkripsi, seperti AWS KMS kunci.
-
-
Lihat juga
Sumber daya terkait berikut dapat membantu Anda saat Anda mengerjakan tindakan ini.
-
AWS CloudFormation Panduan Pengguna — Untuk informasi selengkapnya tentang tindakan Lambda dan CloudFormation artefak untuk pipeline, lihat Menggunakan Fungsi Penggantian Parameter dengan CodePipeline Pipeline, Men gotomati skan Penerapan Aplikasi, dan Artefak. Lambda-based AWS CloudFormation
-
Memanggil sebuah AWS Lambda berfungsi dalam pipa di CodePipeline— Prosedur ini menyediakan contoh fungsi Lambda dan menunjukkan cara menggunakan konsol untuk membuat pipeline dengan tindakan pemanggilan Lambda.