Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengaktifkan dan mengelola Lambda SnapStart
Untuk menggunakan SnapStart, aktifkan SnapStart pada fungsi Lambda baru atau yang sudah ada. Kemudian, publikasikan dan panggil versi fungsi.
Topik
Mengaktifkan SnapStart (konsol)
SnapStart Untuk mengaktifkan suatu fungsi
Buka Halaman fungsi
di konsol Lambda. -
Pilih nama sebuah fungsi.
-
Pilih Konfigurasi, lalu pilih Konfigurasi umum.
-
Pada panel konfigurasi Umum, pilih Edit.
-
Pada halaman Edit pengaturan dasar, untuk SnapStart, pilih Versi yang diterbitkan.
-
Pilih Simpan.
-
Publikasikan versi fungsi. Lambda menginisialisasi kode Anda, membuat snapshot dari lingkungan eksekusi yang diinisialisasi, dan kemudian menyimpan snapshot untuk akses latensi rendah.
Mengaktifkan SnapStart ()AWS CLI
SnapStart Untuk mengaktifkan fungsi yang ada
-
Perbarui konfigurasi fungsi dengan menjalankan update-function-configuration
perintah dengan --snap-start opsi. aws lambda update-function-configuration \ --function-name my-function \ --snap-start ApplyOn=PublishedVersions
-
Publikasikan versi fungsi dengan perintah publish-version
. aws lambda publish-version \ --function-name my-function
-
Konfirmasikan yang SnapStart diaktifkan untuk versi fungsi dengan menjalankan get-function-configuration
perintah dan menentukan nomor versi. Contoh berikut menentukan versi 1. aws lambda get-function-configuration \ --function-name my-function:
1
Jika respons menunjukkan bahwa OptimizationStatusadalah
On
dan State isActive
, maka SnapStart diaktifkan dan snapshot tersedia untuk versi fungsi yang ditentukan."SnapStart": { "ApplyOn": "PublishedVersions",
"OptimizationStatus": "On"
},"State": "Active"
, -
Panggil versi fungsi dengan menjalankan perintah pemanggilan
dan menentukan versinya. Contoh berikut memanggil versi 1. aws lambda invoke \ --cli-binary-format raw-in-base64-out \ --function-name my-function:
1
\ --payload '{ "name": "Bob" }' \ response.jsoncli-binary-formatOpsi ini diperlukan jika Anda menggunakan AWS CLI versi 2. Untuk menjadikan ini pengaturan default, jalankan
aws configure set cli-binary-format raw-in-base64-out
. Untuk informasi selengkapnya, lihat opsi baris perintah global yang AWS CLI didukung di Panduan AWS Command Line Interface Pengguna untuk Versi 2.
Untuk mengaktifkan SnapStart saat Anda membuat fungsi baru
-
Buat fungsi dengan menjalankan perintah create-function
dengan opsi. --snap-start Untuk--role, tentukan Nama Sumber Daya Amazon (ARN) peran eksekusi Anda. aws lambda create-function \ --function-name my-function \ --runtime "java21" \ --zip-file fileb://my-function.zip \ --handler my-function.handler \ --role
arn:aws:iam::111122223333:role/lambda-ex
\ --snap-start ApplyOn=PublishedVersions -
Buat versi dengan perintah publish-version
. aws lambda publish-version \ --function-name my-function
-
Konfirmasikan yang SnapStart diaktifkan untuk versi fungsi dengan menjalankan get-function-configuration
perintah dan menentukan nomor versi. Contoh berikut menentukan versi 1. aws lambda get-function-configuration \ --function-name my-function:
1
Jika respons menunjukkan bahwa OptimizationStatusadalah
On
dan State isActive
, maka SnapStart diaktifkan dan snapshot tersedia untuk versi fungsi yang ditentukan."SnapStart": { "ApplyOn": "PublishedVersions",
"OptimizationStatus": "On"
},"State": "Active"
, -
Panggil versi fungsi dengan menjalankan perintah pemanggilan
dan menentukan versinya. Contoh berikut memanggil versi 1. aws lambda invoke \ --cli-binary-format raw-in-base64-out \ --function-name my-function:
1
\ --payload '{ "name": "Bob" }' \ response.jsoncli-binary-formatOpsi ini diperlukan jika Anda menggunakan AWS CLI versi 2. Untuk menjadikan ini pengaturan default, jalankan
aws configure set cli-binary-format raw-in-base64-out
. Untuk informasi selengkapnya, lihat opsi baris perintah global yang AWS CLI didukung di Panduan AWS Command Line Interface Pengguna untuk Versi 2.
Mengaktifkan SnapStart () API
Untuk mengaktifkan SnapStart
-
Lakukan salah satu hal berikut ini:
-
Buat fungsi baru dengan SnapStart diaktifkan dengan menggunakan CreateFunctionAPItindakan dengan SnapStartparameter.
-
Aktifkan SnapStart untuk fungsi yang ada dengan menggunakan UpdateFunctionConfigurationtindakan dengan SnapStartparameter.
-
-
Publikasikan versi fungsi dengan PublishVersiontindakan. Lambda menginisialisasi kode Anda, membuat snapshot dari lingkungan eksekusi yang diinisialisasi, dan kemudian menyimpan snapshot untuk akses latensi rendah.
-
Konfirmasikan bahwa SnapStart diaktifkan untuk versi fungsi dengan menggunakan GetFunctionConfigurationtindakan. Tentukan nomor versi untuk mengonfirmasi bahwa SnapStart diaktifkan untuk versi tersebut. Jika respons menunjukkan bahwa OptimizationStatusadalah
On
dan State isActive
, maka SnapStart diaktifkan dan snapshot tersedia untuk versi fungsi yang ditentukan."SnapStart": { "ApplyOn": "PublishedVersions",
"OptimizationStatus": "On"
},"State": "Active"
, -
Panggil versi fungsi dengan tindakan Invoke.
Lambda SnapStart dan status fungsi
Status fungsi berikut dapat terjadi saat Anda menggunakan SnapStart. Mereka juga dapat terjadi ketika Lambda secara berkala mendaur ulang lingkungan eksekusi dan menjalankan kembali kode inisialisasi untuk fungsi yang dikonfigurasi. SnapStart
-
Pending
— Lambda menginisialisasi kode Anda dan mengambil snapshot dari lingkungan eksekusi yang diinisialisasi. Setiap pemanggilan atau API tindakan lain yang beroperasi pada versi fungsi akan gagal. -
Active
— Pembuatan snapshot selesai dan Anda dapat menjalankan fungsinya. Untuk menggunakannya SnapStart, Anda harus memanggil versi fungsi yang diterbitkan, bukan versi yang tidak diterbitkan ($LATEST). -
Inactive
— Versi fungsi belum dipanggil selama 14 hari. Ketika versi fungsi menjadiInactive
, Lambda menghapus snapshot. Jika Anda memanggil versi fungsi setelah 14 hari, Lambda mengembalikanSnapStartNotReadyException
respons dan mulai menginisialisasi snapshot baru. Tunggu hingga versi fungsi mencapaiActive
status, lalu panggil lagi.Inactive
Status juga dapat terjadi karena Lambda menjalankan daur ulang berkala dari lingkungan eksekusi. Dalam hal ini, jika fungsi Anda gagal untuk menginisialisasi, fungsi dapat memasukkanInactive
status. -
Failed
— Lambda mengalami kesalahan saat menjalankan kode inisialisasi atau membuat snapshot.
Memperbarui snapshot
Lambda membuat snapshot untuk setiap versi fungsi yang diterbitkan. Untuk memperbarui snapshot, publikasikan versi fungsi baru. Lambda secara otomatis memperbarui snapshot Anda dengan runtime terbaru dan patch keamanan.
Menggunakan SnapStart dengan AWS SDK for Java
Untuk melakukan AWS SDK panggilan dari fungsi Anda, Lambda menghasilkan seperangkat kredensial singkat dengan mengasumsikan peran eksekusi fungsi Anda. Kredensial ini tersedia sebagai variabel lingkungan selama pemanggilan fungsi Anda. Anda tidak perlu memberikan kredensi untuk kode SDK langsung di. Secara default, rantai penyedia kredensi secara berurutan memeriksa setiap tempat di mana Anda dapat menyetel kredensialnya dan memilih yang pertama tersedia—biasanya variabel lingkungan (,, dan). AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
catatan
Ketika SnapStart diaktifkan, runtime Java secara otomatis menggunakan kredensial kontainer (AWS_CONTAINER_CREDENTIALS_FULL_URI
danAWS_CONTAINER_AUTHORIZATION_TOKEN
) alih-alih variabel lingkungan kunci akses. Ini mencegah kredensi kedaluwarsa sebelum fungsi dipulihkan.
Menggunakan SnapStart dengan AWS CloudFormation, AWS SAM, dan AWS CDK
-
AWS CloudFormation: Deklarasikan SnapStartentitas dalam template Anda.
-
AWS Serverless Application Model (AWS SAM): Deklarasikan SnapStartproperti di template Anda.
-
AWS Cloud Development Kit (AWS CDK): Gunakan SnapStartPropertytipenya.
Menghapus snapshot
Lambda menghapus snapshot saat:
-
Anda menghapus fungsi atau versi fungsi.
-
Anda tidak memanggil versi fungsi selama 14 hari. Setelah 14 hari tanpa pemanggilan, versi fungsi bertransisi ke status Tidak Aktif. Jika Anda memanggil versi fungsi setelah 14 hari, Lambda mengembalikan
SnapStartNotReadyException
respons dan mulai menginisialisasi snapshot baru. Tunggu hingga versi fungsi mencapai status Aktif, lalu panggil lagi.
Lambda menghapus semua sumber daya yang terkait dengan snapshot yang dihapus sesuai dengan Peraturan Perlindungan Data Umum (). GDPR