Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Lapisan Lambda adalah arsip file.zip yang berisi kode atau data tambahan. Lapisan biasanya berisi dependensi pustaka, runtime kustom, atau file konfigurasi.
Bagian ini menjelaskan cara mengemas konten layer Anda dengan benar. Untuk informasi konseptual lebih lanjut tentang lapisan dan mengapa Anda mungkin mempertimbangkan untuk menggunakannya, lihatMengelola dependensi Lambda dengan lapisan.
Langkah pertama untuk membuat layer adalah untuk menggabungkan semua konten layer Anda ke dalam arsip file.zip. Karena fungsi Lambda berjalan di Amazon Linux, konten layer Anda harus dapat dikompilasi dan dibangun di lingkungan Linux.
Untuk memastikan bahwa konten lapisan Anda berfungsi dengan baik di lingkungan Linux, kami sarankan untuk membuat konten lapisan Anda menggunakan alat seperti Docker
Jalur lapisan untuk setiap runtime Lambda
Saat Anda menambahkan lapisan ke fungsi, Lambda memuat konten lapisan ke dalam /opt
direktori lingkungan eksekusi itu. Untuk setiap runtime Lambda, PATH
variabel sudah menyertakan jalur folder tertentu dalam direktori. /opt
Untuk memastikan bahwa Lambda mengambil konten layer Anda, file layer.zip Anda harus memiliki dependensinya di jalur folder berikut:
Runtime | Jalur |
---|---|
Node.js |
|
|
|
|
|
|
|
Python |
|
|
|
Java |
|
Ruby |
|
|
|
Runtime |
|
|
Contoh berikut menunjukkan cara Anda dapat menyusun folder dalam arsip .zip lapisan Anda.
contoh struktur file untuk AWS X-Ray SDK untuk Node.js
xray-sdk.zip
└ nodejs/node_modules/aws-xray-sdk
Untuk instruksi khusus bahasa tentang pengemasan, pembuatan, dan penambahan lapisan, lihat halaman berikut:
Kami merekomendasikan agar tidak menggunakan lapisan untuk mengelola dependensi untuk fungsi Lambda yang ditulis dalam Go dan Rust. Ini karena fungsi Lambda yang ditulis dalam bahasa-bahasa ini dikompilasi menjadi satu executable, yang Anda berikan kepada Lambda ketika Anda menerapkan fungsi Anda. Executable ini berisi kode fungsi dikompilasi Anda, bersama dengan semua dependensinya. Menggunakan lapisan tidak hanya mempersulit proses ini, tetapi juga menyebabkan peningkatan waktu mulai dingin karena fungsi Anda perlu memuat rakitan ekstra secara manual ke dalam memori selama fase init.
Untuk menggunakan dependensi eksternal dengan fungsi Go dan Rust Lambda, sertakan mereka langsung dalam paket penerapan Anda.