Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengelola dependensi Lambda dengan lapisan
Lapisan Lambda adalah arsip file.zip yang berisi kode tambahan atau data. Lapisan biasanya berisi dependensi pustaka, runtime khusus, atau file konfigurasi.
Ada beberapa alasan mengapa Anda mungkin mempertimbangkan untuk menggunakan lapisan:
-
Untuk mengurangi ukuran paket penerapan Anda. Alih-alih menyertakan semua dependensi fungsi Anda bersama dengan kode fungsi Anda dalam paket penerapan Anda, letakkan di lapisan. Ini membuat paket penerapan tetap kecil dan terorganisir.
-
Untuk memisahkan logika fungsi inti dari dependensi. Dengan lapisan, Anda dapat memperbarui dependensi fungsi Anda terlepas dari kode fungsi Anda, dan sebaliknya. Ini mempromosikan pemisahan kekhawatiran dan membantu Anda fokus pada logika fungsi Anda.
-
Untuk berbagi dependensi di beberapa fungsi. Setelah Anda membuat lapisan, Anda dapat menerapkannya ke sejumlah fungsi di akun Anda. Tanpa lapisan, Anda perlu menyertakan dependensi yang sama di setiap paket penerapan individu.
-
Untuk menggunakan editor kode konsol Lambda. Editor kode adalah alat yang berguna untuk menguji pembaruan kode fungsi minor dengan cepat. Namun, Anda tidak dapat menggunakan editor jika ukuran paket penerapan Anda terlalu besar. Menggunakan lapisan mengurangi ukuran paket Anda dan dapat membuka kunci penggunaan editor kode.
-
Untuk mengunci versi SDK tertanam. SDK yang disematkan mungkin berubah tanpa pemberitahuan saat mer AWS ilis layanan dan fitur baru. Anda dapat mengunci versi SDK dengan membuat lapisan Lambda dengan versi spesifik yang diperlukan. Fungsi kemudian selalu menggunakan versi di lapisan, bahkan jika versi yang disematkan dalam layanan berubah.
Jika Anda bekerja dengan fungsi Lambda di Go atau Rust, sebaiknya jangan menggunakan lapisan. Untuk fungsi Go dan Rust, Anda memberikan kode fungsi Anda sebagai eksekusi, yang mencakup kode fungsi yang dikompilasi bersama dengan semua dependensinya. Menempatkan dependensi Anda dalam lapisan memaksa fungsi Anda untuk memuat rakitan tambahan secara manual selama fase inisialisasi, yang dapat meningkatkan waktu mulai dingin. Untuk kinerja optimal untuk fungsi Go dan Rust, sertakan dependensi Anda bersama dengan paket penerapan Anda.
Diagram berikut menggambarkan perbedaan arsitektur tingkat tinggi antara dua fungsi yang berbagi dependensi. Satu menggunakan lapisan Lambda, dan yang lainnya tidak.
Ketika Anda menambahkan lapisan ke fungsi, Lambda mengekstrak konten lapisan ke /opt direktori di lingkungan Memahami siklus hidup lingkungan pelaksanaan Lambda eksekusi fungsi Anda. Semua runtime Lambda yang didukung secara native menyertakan jalur ke direktori tertentu dalam direktori. /opt Ini memberi fungsi Anda akses ke konten lapisan Anda. Untuk informasi selengkapnya tentang jalur khusus ini dan cara mengemas lapisan Anda dengan benar, lihatKemasan konten lapisan Anda.
Anda dapat menyertakan hingga lima lapisan per fungsi. Selain itu, Anda dapat menggunakan lapisan hanya dengan fungsi Lambda yang digunakan sebagai arsip file.zip. Untuk fungsi yang didefinisikan sebagai image kontainer, kemas runtime pilihan Anda dan semua dependensi kode saat Anda membuat image kontainer. Untuk informasi selengkapnya, lihat Bekerja dengan lapisan dan ekstensi Lambda dalam gambar kontainer
Topik
Cara menggunakan lapisan
Untuk membuat lapisan, kemas dependensi Anda ke dalam file.zip, mirip dengan cara Anda membuat paket penerapan normal. Lebih khusus lagi, proses umum pembuatan dan penggunaan lapisan melibatkan tiga langkah ini:
-
Pertama, kemas konten layer Anda. Ini berarti membuat arsip file.zip. Untuk informasi selengkapnya, lihat Kemasan konten lapisan Anda.
-
Selanjutnya, buat layer di Lambda. Untuk informasi selengkapnya, lihat Membuat dan menghapus lapisan di Lambda.
-
Tambahkan layer ke fungsi Anda. Untuk informasi selengkapnya, lihat Menambahkan lapisan ke fungsi.
Lapisan dan versi lapisan
Versi lapisan adalah snapshot yang tidak dapat diubah dari versi tertentu dari lapisan. Saat Anda membuat layer baru, Lambda membuat versi layer baru dengan nomor versi 1. Setiap kali Anda menerbitkan pembaruan ke layer, Lambda menambah nomor versi dan membuat versi layer baru.
Setiap versi lapisan diidentifikasi oleh Nama Sumber Daya Amazon (ARN) yang unik. Saat menambahkan lapisan ke fungsi, Anda harus menentukan versi layer yang tepat yang ingin Anda gunakan (misalnya,arn:aws:lambda:us-east-1:123456789012:layer:my-layer:).1