Kemasan konten lapisan Anda - AWS Lambda

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

Kemasan konten lapisan Anda

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 atau AWS Cloud9. AWS Cloud9 adalah lingkungan pengembangan terintegrasi berbasis cloud (IDE) yang menyediakan akses bawaan ke server Linux untuk menjalankan dan menguji kode. Untuk informasi selengkapnya, lihat Menggunakan layer Lambda untuk menyederhanakan proses pengembangan Anda di Compute Blog. AWS

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 PATH variabel mengambil konten lapisan Anda, file layer.zip Anda harus memiliki dependensi di jalur folder berikut:

Jalur lapisan untuk setiap runtime Lambda
Runtime Jalur

Node.js

nodejs/node_modules

nodejs/node16/node_modules (NODE_PATH)

nodejs/node18/node_modules (NODE_PATH)

nodejs/node20/node_modules (NODE_PATH)

Python

python

python/lib/python3.x/site-packages(direktori situs)

Java

java/lib (CLASSPATH)

Ruby

ruby/gems/3.2.0 (GEM_PATH)

ruby/lib (RUBYLIB)

Runtime

bin (PATH)

lib (LD_LIBRARY_PATH)

Contoh berikut menunjukkan cara Anda dapat menyusun folder dalam arsip .zip lapisan Anda.

Node.js
contoh struktur file untuk AWS X-Ray SDK untuk Node.js
xray-sdk.zip └ nodejs/node_modules/aws-xray-sdk
Python
contoh struktur file untuk pustaka Permintaan
layer_content.zip └ python └ lib └ python3.11 └ site-packages └ requests └ <other_dependencies> (i.e. dependencies of the requests package) └ ...
Ruby
contoh struktur file untuk JSON gem
json.zip └ ruby/gems/2.7.0/ | build_info | cache | doc | extensions | gems | └ json-2.1.0 └ specifications └ json-2.1.0.gemspec
Java
contoh struktur file untuk file JAR Jackson
layer_content.zip └ java └ lib └ jackson-core-2.17.0.jar └ <other potential dependencies> └ ...
All
contoh struktur file untuk pustaka jq
jq.zip └ bin/jq

Untuk instruksi khusus bahasa tentang pengemasan, pembuatan, dan penambahan lapisan, lihat halaman berikut: