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-sam
denganinvokeTarget.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
-
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: Edit
launch.json
dan 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": {} }
-
-
Dalam VS CodeJalankanpanel, pilih konfigurasi peluncuran (bernama
myConfig
dalam contoh di atas). -
(Opsional) Tambahkan titik henti ke kode proyek Lambda Anda.
-
JenisF5atau pilihMainkandi dalamJalankanPanel.
-
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 olehinvokeTarget.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.