

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
<a name="serverless-apps-run-debug-no-template"></a>

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 [CodeLens](https://code.visualstudio.com/blogs/2017/02/12/code-lens-roundup)fitur 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; .NET 5.0) | Fungsi tersebut memiliki fitur berikut:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-no-template.html)Ekstensi [ms-dotnettools.csharp (atau ekstensi](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp) apa pun yang menyediakan simbol bahasa untuk C\#) diinstal dan diaktifkan. | 
| JavaScript/TypeScript (Node.js 12.x, 14.x) |  Fungsi tersebut memiliki fitur berikut:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-no-template.html)  | 
| Python (3.7, 3.8, 3.9, 3.10, 3.11, 3.12) |  Fungsi tersebut memiliki fitur berikut:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-no-template.html)Ekstensi [ms-python.python (atau ekstensi](http://marketplace.visualstudio.com/items?itemName=ms-python.python) apa pun yang menyediakan simbol bahasa untuk Python) diinstal dan diaktifkan. | 
| Jawa (8, 8.al2, 11) |  Fungsi tersebut memiliki fitur berikut:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-no-template.html)[Ekstensi redhat.java](https://marketplace.visualstudio.com/items?itemName=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.<br />[Vscjava. vscode-java-debug](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-debug)ekstensi (atau ekstensi apa pun yang menyediakan debugger Java) diinstal dan diaktifkan. | 
| Pergi (1.x) |  Fungsi tersebut memiliki fitur berikut:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-no-template.html)[Ekstensi golang.go](https://marketplace.visualstudio.com/items?itemName=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**.

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

1. 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.](http://docs.aws.amazon.com/id_id/toolkit-for-vscode/latest/userguide/images/sam-codelens-lambda.png)

1. Di **Command Palette**, pilih runtime di mana AWS SAM aplikasi Anda akan berjalan.

1. 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 adalah`app.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"`: Pasangan nilai kunci berformat JSON yang menentukan muatan peristiwa.
     + `"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.](http://docs.aws.amazon.com/id_id/toolkit-for-vscode/latest/userguide/images/direct_invoke_config_updated_with_payload_field.png)

   Untuk informasi selengkapnya tentang entri ini dan entri lainnya dalam file `launch.json`, lihat [Opsi konfigurasi untuk men-debug aplikasi nirserver](serverless-apps-run-debug-config-ref.md).

1. 

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

   Saat sesi debugging dimulai, panel **DEBUG CONSOLE** 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**.)