Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Kustomisasi serialisasi untuk fungsi Lambda Java

Mode fokus
Kustomisasi serialisasi untuk fungsi Lambda Java - AWS Lambda

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

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

Runtime terkelola Lambda Java mendukung serialisasi khusus untuk acara JSON. Serialisasi khusus dapat menyederhanakan kode Anda dan berpotensi meningkatkan kinerja.

Kapan menggunakan serialisasi khusus

Ketika fungsi Lambda Anda dipanggil, data peristiwa input perlu dideserialisasi ke objek Java, dan output dari fungsi Anda perlu diserialisasikan kembali ke format yang dapat dikembalikan sebagai respons fungsi. Runtime terkelola Lambda Java menyediakan kemampuan serialisasi dan deserialisasi default yang berfungsi dengan baik untuk menangani muatan peristiwa dari berbagai layanan, AWS seperti Amazon API Gateway dan Amazon Simple Queue Service (Amazon SQS). Untuk bekerja dengan peristiwa integrasi layanan ini dalam fungsi Anda, tambahkan aws-java-lambda-eventsdependensi ke proyek Anda. AWS Pustaka ini berisi objek Java yang mewakili peristiwa integrasi layanan ini.

Anda juga dapat menggunakan objek Anda sendiri untuk mewakili acara JSON yang Anda berikan ke fungsi Lambda Anda. Runtime terkelola mencoba membuat serial JSON ke instance baru objek Anda dengan perilaku defaultnya. Jika serializer default tidak memiliki perilaku yang diinginkan untuk kasus penggunaan Anda, gunakan serialisasi khusus.

Misalnya, asumsikan bahwa penangan fungsi Anda mengharapkan Vehicle kelas sebagai input, dengan struktur berikut:

public class Vehicle { private String vehicleType; private long vehicleId; }

Namun, payload acara JSON terlihat seperti ini:

{ "vehicle-type": "car", "vehicleID": 123 }

Dalam skenario ini, serialisasi default dalam runtime terkelola mengharapkan nama properti JSON cocok dengan nama properti kelas Java case unta (,). vehicleType vehicleId Karena nama properti dalam acara JSON tidak dalam kasus unta (vehicle-type,vehicleID), Anda harus menggunakan serialisasi khusus.

Menerapkan serialisasi kustom

Gunakan Antarmuka Penyedia Layanan untuk memuat serializer pilihan Anda alih-alih logika serialisasi default runtime yang dikelola. Anda dapat membuat serial muatan acara JSON Anda langsung ke objek Java, menggunakan antarmuka standar. RequestHandler

Untuk menggunakan serialisasi kustom dalam fungsi Lambda Java Anda
  1. Tambahkan aws-lambda-java-coreperpustakaan sebagai dependensi. Pustaka ini mencakup CustomPojoSerializerantarmuka, bersama dengan definisi antarmuka lain untuk bekerja dengan Java di Lambda.

  2. Buat file bernama com.amazonaws.services.lambda.runtime.CustomPojoSerializer di src/main/META-INF/services/ direktori proyek Anda.

  3. Dalam file ini, tentukan nama yang sepenuhnya memenuhi syarat dari implementasi serializer kustom Anda, yang harus mengimplementasikan antarmuka. CustomPojoSerializer Contoh:

    com.mycompany.vehicles.CustomLambdaSerialzer
  4. Terapkan CustomPojoSerializer antarmuka untuk memberikan logika serialisasi kustom Anda.

  5. Gunakan RequestHandler antarmuka standar dalam fungsi Lambda Anda. Runtime terkelola akan menggunakan serializer kustom Anda.

Untuk contoh lebih lanjut tentang cara menerapkan serialisasi kustom menggunakan pustaka populer seperti FastJSON, Gson, Moshi, dan jackson-jr, lihat contoh serialisasi kustom di repositori. AWS GitHub

Menguji serialisasi kustom

Uji fungsi Anda untuk memastikan bahwa logika serialisasi dan deserialisasi Anda berfungsi seperti yang diharapkan. Anda dapat menggunakan Antarmuka Baris AWS Serverless Application Model Perintah (AWS SAM CLI) untuk meniru permintaan muatan Lambda Anda. Ini dapat membantu Anda dengan cepat menguji dan mengulangi fungsi Anda saat Anda memperkenalkan serializer khusus.

  1. Buat file dengan payload acara JSON yang ingin Anda panggil fungsi Anda lalu panggil AWS SAM CLI.

  2. Jalankan perintah sam local invoke untuk memanggil fungsi Anda secara lokal. Contoh:

    sam local invoke -e src/test/resources/event.json

Untuk informasi selengkapnya, lihat Memanggil fungsi Lambda secara lokal dengan. AWS SAM

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.