Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Runtime yang didukung untuk fungsi yang tahan lama
Fungsi tahan lama tersedia untuk runtime terkelola yang dipilih dan gambar kontainer OCI untuk fleksibilitas versi runtime tambahan. Anda dapat membuat fungsi tahan lama untuk Node.js, Python, dan Java menggunakan runtime terkelola secara langsung di konsol atau secara terprogram melalui infrastruktur-sebagai-kode.
Runtime terkelola Lambda
Runtime terkelola berikut mendukung fungsi tahan lama saat Anda membuat fungsi di konsol Lambda atau menggunakan parameter AWS CLI with--durable-config '{"ExecutionTimeout": 3600, "RetentionPeriodInDays": 7}'. Untuk informasi selengkapnya tentang runtime Lambda, lihat runtime Lambda.
| Bahasa | Waktu Aktif |
|---|---|
| Node.js | nodejs22.x |
| Node.js | nodejs24.x |
| Python | python3.13 |
| Python | python3.14 |
| Java | java17 |
| Java | java21 |
| Java | java25 |
catatan
Runtime Lambda dan Node.js Python menyertakan SDK eksekusi yang tahan lama untuk pengujian dan pengembangan. Namun, sebaiknya sertakan SDK dalam paket penerapan Anda untuk produksi. Ini memastikan konsistensi versi dan menghindari kemungkinan pembaruan runtime yang mungkin memengaruhi perilaku fungsi Anda. Karena Java adalah bahasa yang dikompilasi, runtime Lambda Java tidak menyertakan SDK eksekusi yang tahan lama, sehingga harus disertakan dalam paket penerapan Anda.
Node.js
Instal SDK di Node.js proyek Anda:
npm install @aws/durable-execution-sdk-js
SDK mendukung JavaScript dan TypeScript. Untuk TypeScript proyek, SDK menyertakan definisi tipe.
Python
Instal SDK di proyek Python Anda:
pip install aws-durable-execution-sdk-python
Python SDK menggunakan metode sinkron dan tidak memerlukan. async/await
Java
Tambahkan ketergantungan kepom.xml:
<dependency> <groupId>software.amazon.lambda.durable</groupId> <artifactId>aws-durable-execution-sdk-java</artifactId> <version>VERSION</version> </dependency>
Instal SDK di proyek Java Anda:
mvn install
Java SDK menyediakan versi sinkron dan asinkron dari setiap metode.
Image kontainer
Anda dapat menggunakan fungsi tahan lama dengan gambar kontainer untuk mendukung versi runtime tambahan atau konfigurasi runtime kustom. Gambar kontainer memungkinkan Anda menggunakan versi runtime yang tidak tersedia sebagai runtime terkelola atau menyesuaikan lingkungan runtime Anda.
Untuk membuat fungsi tahan lama menggunakan gambar kontainer:
Buat Dockerfile berdasarkan gambar dasar Lambda
Instal SDK eksekusi yang tahan lama di container Anda
Buat dan dorong gambar kontainer ke Amazon Elastic Container Registry
Buat fungsi Lambda dari gambar kontainer dengan eksekusi tahan lama diaktifkan
Contoh kontainer
Buat Dockerfile:
Bangun dan dorong gambar:
# Build the image docker build -t my-durable-function . # Tag for ECR docker tag my-durable-function:latest 123456789012.dkr.ecr.us-east-1.amazonaws.com/my-durable-function:latest # Push to ECR docker push 123456789012.dkr.ecr.us-east-1.amazonaws.com/my-durable-function:latest
Buat fungsi dengan eksekusi tahan lama diaktifkan:
aws lambda create-function \ --function-name myDurableFunction \ --package-type Image \ --code ImageUri=123456789012.dkr.ecr.us-east-1.amazonaws.com/my-durable-function:latest \ --role arn:aws:iam::123456789012:role/lambda-execution-role \ --durable-config '{"ExecutionTimeout": 3600, "RetentionPeriodInDays": 7}'
Untuk informasi selengkapnya tentang penggunaan gambar kontainer dengan Lambda, lihat Membuat gambar kontainer Lambda di Panduan Pengembang Lambda.
Pertimbangan runtime
Manajemen versi SDK: Untuk mempertahankan kontrol penuh atas dependensi Anda dan untuk menghindari kemungkinan masalah ketidaksejajaran versi, kami sarankan Anda menambahkan semua dependensi fungsi ke paket penerapan Anda, meskipun versinya disertakan dalam runtime Lambda secara default. Ini termasuk SDK eksekusi yang tahan lama. Kunci SDK eksekusi tahan lama ke versi utama dalam file dependensi Anda. Versi utama baru dapat memperkenalkan perubahan yang dapat mengakibatkan kegagalan eksekusi dalam penerbangan. Gunakan versi bernomor atau alias untuk fungsi tahan lama produksi, bukan $LATEST untuk memastikan perubahan versi SDK tidak memengaruhi eksekusi dalam penerbangan.
Pembaruan runtime: AWS memperbarui runtime terkelola untuk menyertakan patch keamanan dan perbaikan bug. Pembaruan ini mungkin termasuk versi SDK baru. Untuk menghindari perilaku yang tidak terduga, sertakan SDK dalam paket penerapan Anda dan uji secara menyeluruh sebelum menerapkan ke produksi.
Ukuran gambar kontainer: Gambar kontainer memiliki ukuran maksimum yang tidak terkompresi 10 GB. SDK eksekusi yang tahan lama menambahkan ukuran minimal pada gambar Anda. Optimalkan penampung Anda dengan menggunakan build multi-tahap dan menghapus dependensi yang tidak perlu.
Kinerja awal dingin: Gambar kontainer mungkin memiliki waktu mulai dingin yang lebih lama daripada runtime yang dikelola. SDK eksekusi yang tahan lama memiliki dampak minimal pada kinerja start dingin. Gunakan konkurensi yang disediakan jika latensi start dingin sangat penting untuk aplikasi Anda.