Menjalankan dan men-debug fungsi Lambda langsung dari kode - AWS Toolkit for VS Code

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

Menjalankan dan men-debug fungsi Lambda langsung dari kode

Saat menguji AWS SAM aplikasi, Anda dapat memilih untuk menjalankan dan men-debug hanya fungsi Lambda dan mengecualikan sumber daya lain yang didefinisikan template AWS SAM . Pendekatan ini melibatkan penggunaan CodeLensfitur untuk mengidentifikasi penangan fungsi Lambda dalam kode sumber yang dapat langsung Anda panggil.

Handler Lambda yang terdeteksi CodeLens bergantung pada bahasa dan runtime yang Anda gunakan untuk aplikasi Anda.

Bahasa/runtime Kriteria fungsi Lambda harus diidentifikasi oleh indikator CodeLens

C # (dotnetcore2.1, 3.1;. NET5.0)

Fungsi tersebut memiliki fitur berikut:
  • Ini adalah fungsi publik dari kelas publik.

  • Ini memiliki satu atau dua parameter. Dengan dua parameter, parameter kedua harus mengimplementasikan ILambdaContext antarmuka.

  • Ini memiliki *.csproj file di folder induknya dalam folder ruang kerja VS Code.

Ekstensi ms-dotnettools.csharp (atau ekstensi apa pun yang menyediakan simbol bahasa untuk C#) diinstal dan diaktifkan.

JavaScript/TypeScript (Node.js 12.x, 14.x)

Fungsi tersebut memiliki fitur berikut:
  • Ini adalah fungsi yang diekspor dengan hingga tiga parameter.

  • Ini memiliki package.json file di folder induknya dalam folder ruang kerja VS Code.

Python (3.7, 3.8, 3.9, 3.10, 3.11, 3.12)

Fungsi tersebut memiliki fitur berikut:
  • Ini adalah fungsi tingkat atas.

  • Ini memiliki requirements.txt file di folder induknya dalam folder ruang kerja VS Code.

Ekstensi ms-python.python (atau ekstensi apa pun yang menyediakan simbol bahasa untuk Python) diinstal dan diaktifkan.

Jawa (8, 8.al2, 11)

Fungsi tersebut memiliki fitur berikut:
  • Ini adalah fungsi publik dari kelas publik, non-abstrak.

  • Ini memiliki satu, dua, atau tiga parameter:

    • Satu parameter: Parameter bisa apa saja.

    • Dua parameter: Parameter harus a java.io.InputStream dan A java.io.OutputStream ATAU parameter terakhir harus acom.amazonaws.services.lambda.runtime.Context.

    • Tiga parameter: Parameter harus a java.io.InputStream java.io.OutputStream AND dan parameter terakhir harus acom.amazonaws.services.lambda.runtime.Context.

  • Ini memiliki file build.gradle (Gradle) atau pom.xml (Maven) di folder induknya dalam folder ruang kerja VS Code.

Ekstensi redhat.java (atau ekstensi apa pun yang menyediakan simbol bahasa untuk Java) diinstal dan diaktifkan. Ekstensi ini membutuhkan Java 11, tidak peduli runtime Java mana yang Anda gunakan.

Vscjava. vscode-java-debugekstensi (atau ekstensi apa pun yang menyediakan debugger Java) diinstal dan diaktifkan.

Pergi (1.x)

Fungsi tersebut memiliki fitur berikut:
  • Ini adalah fungsi tingkat atas.

  • Dibutuhkan antara 0 dan 2 argumen. Jika ada dua argumen, argumen pertama harus menerapkan context.Context.

  • Ia mengembalikan antara 0 dan 2 argumen. Jika ada lebih dari 0 argumen, argumen terakhir harus diterapkanerror.

  • Ini memiliki go.mod file dalam folder ruang kerja VS Code.

Ekstensi golang.go diinstal, dikonfigurasi, dan diaktifkan.

Untuk menjalankan dan men-debug aplikasi nirserver langsung dari kode aplikasi

  1. Untuk melihat file aplikasi Anda di VS Code File Explorer, pilih View, Explorer.

  2. Dari folder aplikasi (misalnya, my-sample-app), perluas folder fungsi (dalam hal ini, hello-world) dan buka file. app.js

  3. Pada CodeLens indikator yang mengidentifikasi penangan fungsi Lambda yang memenuhi syarat, pilih. Add Debug Configuration

    Akses opsi Tambahkan Konfigurasi Debug di CodeLens indikator untuk penangan fungsi Lambda.
  4. Di Command Palette, pilih runtime di mana AWS SAM aplikasi Anda akan berjalan.

  5. Di editor untuk file launch.json, edit atau konfirmasi nilai untuk properti konfigurasi berikut:

    • "name"— Masukkan nama yang ramah pembaca untuk muncul di bidang tarik-turun Konfigurasi di tampilan Jalankan.

    • "target" – Pastikan bahwa nilainya adalah "code" agar penangan fungsi Lambda dipanggil secara langsung.

    • "lambdaHandler" – Masukkan nama metode dalam kode Anda yang dipanggil Lambda untuk memanggil fungsi Anda. Misalnya, untuk aplikasi di JavaScript, defaultnya adalahapp.lambdaHandler.

    • "projectRoot" – Masukkan jalur ke file aplikasi yang berisi fungsi Lambda.

    • "runtime" – Masukkan atau konfirmasikan runtime yang valid untuk lingkungan eksekusi Lambda, misalnya, "nodejs.12x".

    • "payload" – Pilih salah satu opsi berikut untuk menentukan muatan peristiwa yang ingin Anda berikan ke fungsi Lambda Anda sebagai input:

      • "json": JSON -diformat pasangan kunci-nilai yang menentukan payload acara.

      • "path": Jalur ke file yang digunakan sebagai muatan peristiwa.

      Dalam contoh di bawah ini, "json" opsi mendefinisikan payload.

    Mengkonfigurasi launch.json file untuk langsung menjalankan fungsi Lambda.

    Untuk informasi selengkapnya tentang entri ini dan entri lainnya dalam file launch.json, lihat Opsi konfigurasi untuk men-debug aplikasi nirserver.

  6. Jika Anda puas dengan konfigurasi debug, untuk memulai debugging, pilih panah putar hijau di sebelahnya. RUN

    Saat sesi debugging dimulai, DEBUGCONSOLEpanel menampilkan output debugging dan menampilkan nilai apa pun yang dikembalikan oleh fungsi Lambda. (Saat men-debug AWS SAM aplikasi, AWS Toolkit dipilih sebagai saluran Output di panel Output.)