Menjalankan dan men-debug sumber daya Amazon API Gateway lokal - 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 sumber daya Amazon API Gateway lokal

Anda dapat menjalankan atau men-debugAWS SAMSumber daya lokal API Gateway, ditentukan dalamtemplate.yaml, dengan menjalankan konfigurasi peluncuran Kode VStype=aws-samdenganinvokeTarget.target=api.

catatan

API Gateway mendukung dua jenis API, REST dan HTTP. Namun, fitur API Gateway denganAWS Toolkit for Visual Studio Codehanya mendukung REST API. Terkadang HTTP API disebut “API Gateway V2 API.”

Untuk menjalankan dan men-debug sumber daya API Gateway lokal
  1. Pilih salah satu pendekatan berikut untuk membuat konfigurasi peluncuran untuk sumber daya AWS SAM API Gateway:

    • Opsi 1: Kunjungi kode sumber penangan (file .js, .cs, atau .py) di file .js, .cs, atau .py)AWS SAMproyek, arahkan kursor ke handler Lambda, dan pilihTambahkan Konfigurasi Debug CodeLens. Kemudian, dalam menu, pilih item bertandaAPI Peristiwa.

    • Opsi 2: Editlaunch.jsondan buat konfigurasi peluncuran baru menggunakan sintaks berikut.

      { "type": "aws-sam", "request": "direct-invoke", "name": "myConfig", "invokeTarget": { "target": "api", "templatePath": "n12/template.yaml", "logicalId": "HelloWorldFunction" }, "api": { "path": "/hello", "httpMethod": "post", "payload": { "json": {} } }, "sam": {}, "aws": {} }
  2. Dalam VS CodeJalankanpanel, pilih konfigurasi peluncuran (bernamamyConfigdalam contoh di atas).

  3. (Opsional) Tambahkan titik henti ke kode proyek Lambda Anda.

  4. JenisF5atau pilihMainkandi dalamJalankanPanel.

  5. Di panel output, lihat hasilnya.

Konfigurasi

Ketika Anda menggunakan invokeTarget.target nilai properti api, Toolkit mengubah validasi dan perilaku konfigurasi peluncuran untuk mendukung bidang api.

{ "type": "aws-sam", "request": "direct-invoke", "name": "myConfig", "invokeTarget": { "target": "api", "templatePath": "n12/template.yaml", "logicalId": "HelloWorldFunction" }, "api": { "path": "/hello", "httpMethod": "post", "payload": { "json": {} }, "querystring": "abc=def&qrs=tuv", "headers": { "cookie": "name=value; name2=value2; name3=value3" } }, "sam": {}, "aws": {} }

Ganti nilai-nilai dalam contoh sebagai berikut:

invokeTarget.logicalId

Sumber daya API.

path

Jalur API yang diminta oleh konfigurasi peluncuran, misalnya, "path": "/hello".

Harus merupakan jalur API valid yang diselesaikan dari template.yaml yang ditentukan oleh invokeTarget.templatePath.

httpMethod

Salah satu kata kerja berikut: "delete", "get", "head", "options", "patch", "post", "put".

payload

Muatan JSON (badan HTTP) untuk mengirim permintaan, dengan struktur dan aturan yang sama dengan bidang lambda.payload.

payload.path menunjuk ke file yang berisi muatan JSON.

payload.json menentukan muatan JSON sebaris.

headers

Peta opsional pasangan nama-nilai, yang Anda gunakan untuk menentukan header HTTP untuk disertakan dalam permintaan, seperti yang ditunjukkan dalam contoh berikut.

"headers": { "accept-encoding": "deflate, gzip;q=1.0, *;q=0.5", "accept-language": "fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5", "cookie": "name=value; name2=value2; name3=value3", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36", }
querystring

String opsional yang menetapkan querystring dari permintaan, misalnya, "querystring": "abc=def&ghi=jkl".

AWS

Bagaimana informasi koneksi AWS disediakan. Untuk informasi selengkapnya, lihatAWSkoneksi (“aws”) propertitabel diOpsi konfigurasi untuk men-debug aplikasi nirserverBagian.

sam

Bagaimana AWS SAM CLI membangun aplikasi. Untuk informasi selengkapnya, lihatAWSProperti SAM CLI (“sam”)tabel diOpsi konfigurasi untuk men-debug aplikasi nirserverBagian.