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”.

Bekerja dengan AWS SAM menggunakan AWS Toolkit

Mode fokus
Bekerja dengan AWS SAM menggunakan AWS Toolkit - AWS Cloud9

AWS Cloud9 tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada AWS Cloud9 dapat terus menggunakan layanan seperti biasa. Pelajari selengkapnya

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

AWS Cloud9 tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada AWS Cloud9 dapat terus menggunakan layanan seperti biasa. Pelajari selengkapnya

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

AWS Toolkit menyediakan dukungan untuk aplikasi tanpa server. Menggunakan AWS Toolkit, Anda dapat membuat aplikasi tanpa server yang berisi AWS Lambdafungsi, dan kemudian menyebarkan aplikasi ke tumpukan. AWS CloudFormation

Membuat aplikasi nirserver

Contoh ini menunjukkan cara menggunakan AWS Toolkit untuk membuat aplikasi tanpa server. Untuk informasi tentang cara menjalankan dan men-debug aplikasi tanpa server, lihat. Menjalankan dan men-debug aplikasi nirserver

Prasyarat yang diperlukan untuk membuat aplikasi tanpa server termasuk CLI dan CLI AWS SAM .AWS Ini termasuk dengan AWS Cloud9. Jika AWS SAM CLI tidak diinstal, atau jika sudah usang, Anda mungkin perlu menjalankan instalasi atau upgrade. Untuk petunjuk tentang cara menginstal AWS SAM CLI, lihat Menginstal CLI dan untuk petunjuk tentang cara memutakhirkan AWS SAM CLIAWS SAM , lihat Memutakhirkan CLI. AWS SAM

Membuat aplikasi nirserver dengan AWS Toolkit

Contoh ini menunjukkan cara membuat aplikasi tanpa server dengan AWS Toolkit dengan menggunakan ().AWS Serverless Application ModelAWS SAM

  1. Di AWS Explorer, buka menu konteks (klik kanan) untuk simpul Lambda, lalu pilih Buat Aplikasi SAM Lambda.

    catatan

    Atau, Anda dapat memilih ikon menu di seberang judul AWS: Explorer, dan memilih Create Lambda SAM Application.

  2. Pilih runtime untuk aplikasi SAM Anda. Untuk contoh ini, pilih nodejs12.x.

    catatan

    Jika Anda memilih salah satu runtime dengan “(Gambar),” aplikasi Anda adalah jenis Image paket. Jika Anda memilih salah satu runtime tanpa “(Gambar),” aplikasi Anda adalah Zip jenisnya. Untuk informasi selengkapnya tentang perbedaan antara jenis paket Image dan Zip, lihat paket deployment Lambda dalam Panduan Developer AWS Lambda .

  3. Pilih salah satu templat berikut untuk aplikasi tanpa server Anda:

    • AWS SAM Hello World: Template dasar dengan fungsi Lambda yang mengembalikan pesan klasik “Hello World”.

    • AWS Step Functions Sample App: Contoh aplikasi yang menjalankan alur kerja perdagangan saham. Fungsi langkah mengatur interaksi fungsi Lambda yang terlibat.

  4. Pilih lokasi untuk proyek baru Anda. Jika tersedia, Anda dapat memilih folder ruang kerja yang ada. Jika tidak, telusuri folder yang berbeda. Jika Anda memilih Pilih folder yang berbeda, kotak dialog akan ditampilkan di mana Anda dapat memilih lokasi folder.

  5. Masukkan nama untuk aplikasi baru Anda. Untuk contoh ini, gunakan my-sam-app-nodejs. Setelah Anda menekan Enter, AWS Toolkit membutuhkan beberapa saat untuk membuat proyek.

Ketika proyek dibuat, Anda dapat melihat file aplikasi Anda di jendela Lingkungan. Temukan itu tercantum di jendela Explorer.

Tangkapan layar yang menunjukkan runtime yang tersedia untuk aplikasi SAM.

Menjalankan dan men-debug aplikasi nirserver

Anda dapat menggunakan AWS Toolkit untuk mengonfigurasi cara men-debug aplikasi tanpa server dan menjalankannya secara lokal di lingkungan pengembangan Anda. Anda dapat men-debug aplikasi tanpa server yang ditentukan oleh template AWS Serverless Application Model ()AWS SAM. Template ini menggunakan sintaks YAMB sederhana untuk mendeskripsikan sumber daya seperti fungsi, database APIs, dan pemetaan sumber peristiwa yang membentuk aplikasi tanpa server.

Untuk melihat lebih dekat pada AWS SAM template, lihat anatomi AWS SAM template di Panduan AWS Serverless Application Model Pengembang.

Atau, Anda dapat dengan cepat men-debug aplikasi nirserver yang belum dikomit ke templat SAM.

Anda mulai mengonfigurasi perilaku debug dengan menggunakan tindakan sebaris untuk mengidentifikasi fungsi yang memenuhi syarat AWS Lambda . Untuk menggunakan infrastruktur yang ditentukan oleh templat SAM, gunakan tindakan sebaris dalam file berformat YAML yang relevan. Untuk menguji fungsi secara langsung tanpa templat, gunakan tautan sadar konteks untuk penangan Lambda di file aplikasi.

catatan

Dalam contoh ini, kita men-debug aplikasi yang menggunakan JavaScript. Tetapi Anda dapat menggunakan fitur debugging yang tersedia di AWS Toolkit dengan bahasa dan runtime berikut:

  • JavaScript - Node.js 10. x, 12. x, 14. x

  • Python — 3.7, 3.8, 3.9, 3.10 (Python 2.7 dan 3.6 aplikasi tanpa server dapat dijalankan tetapi tidak di-debug oleh Toolkit.) AWS

Pilihan bahasa Anda juga memengaruhi bagaimana tautan sadar konteks menunjukkan penangan Lambda yang memenuhi syarat. Untuk informasi selengkapnya, lihat Menjalankan dan men-debug fungsi nirserver langsung dari kode.

Menggunakan templat SAM untuk menjalankan dan men-debug aplikasi nirserver

Untuk aplikasi yang dijalankan dan di-debug menggunakan templat SAM, file berformat YAML menjelaskan perilaku aplikasi dan sumber daya yang digunakannya. Jika Anda membuat aplikasi tanpa server menggunakan AWS Toolkit, file bernama akan dibuat template.yaml secara otomatis untuk proyek Anda.

Dalam prosedur ini, gunakan contoh aplikasi yang dibuat diMembuat aplikasi nirserver.

Untuk menggunakan templat SAM guna menjalankan dan men-debug aplikasi nirserver

  1. Untuk melihat file aplikasi Anda yang membentuk aplikasi nirserver Anda, buka jendela Lingkungan.

  2. Dari folder aplikasi (misalnya, my-sample-app), buka template.yaml file.

  3. Untuktemplate.yaml, pilih Edit Konfigurasi Peluncuran.

    Editor baru menampilkan file launch.json yang menyediakan konfigurasi debug dengan atribut default.

  4. 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 nilainya"template". Dengan begitu, template SAM adalah titik masuk untuk sesi debug.

    • "templatePath" – Masukkan jalur relatif atau absolut untuk file template.yaml.

    • "logicalId"— Pastikan bahwa nama cocok dengan yang ditentukan di bagian Sumber daya dari template SAM. Dalam hal ini, ini adalah HelloWorldFunction dari tipe AWS::Serverless::Function.

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

  5. Jika Anda puas dengan konfigurasi debug Anda, simpan launch.json. Kemudian, pilih tombol “putar” hijau di sebelah RUN untuk memulai debugging.

    catatan

    Jika aplikasi SAM Anda gagal dijalankan, periksa jendela Output untuk melihat apakah kesalahan tersebut disebabkan oleh citra Docker yang tidak membangun. Anda mungkin perlu mengosongkan ruang disk di lingkungan Anda.

    Untuk informasi selengkapnya, lihat Kesalahan menjalankan aplikasi SAM secara lokal di AWS Toolkit karena AWS Cloud9 lingkungan tidak memiliki cukup ruang disk.

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

    catatan

    Untuk pengguna Windows, jika Anda melihat kesalahan pemasangan Docker selama proses ini, Anda mungkin perlu menyegarkan kredensil untuk drive bersama Anda di Pengaturan Docker. Kesalahan pemasangan Docker terlihat mirip dengan yang berikut ini.

    Fetching lambci/lambda:nodejs10.x Docker container image...... 2019-07-12 13:36:58 Mounting C:\Users\<username>\AppData\Local\Temp\ ... as /var/task:ro,delegated inside runtime container Traceback (most recent call last): ...requests.exceptions.HTTPError: 500 Server Error: Internal Server Error ...

Menjalankan dan men-debug fungsi nirserver langsung dari kode

Saat menguji AWS SAM aplikasi, Anda dapat memilih untuk menjalankan dan men-debug hanya fungsi Lambda. Kecualikan sumber daya lain yang ditentukan oleh template SAM. Pendekatan ini melibatkan penggunaan tindakan inline untuk mengidentifikasi penangan fungsi Lambda dalam kode sumber yang dapat langsung dipanggil.

Penangan Lambda yang dideteksi oleh tautan sadar konteks bergantung pada bahasa dan runtime yang Anda gunakan untuk aplikasi Anda.

Bahasa/runtime Kondisi untuk fungsi Lambda untuk diidentifikasi oleh tautan sadar konteks

JavaScript (Node.js 10.x, 12.x, dan 14.x)

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

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

Python (3.7, 3.8, 3.9, dan 3.10)

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

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

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

  1. Untuk melihat file aplikasi tanpa server Anda, navigasikan ke folder aplikasi dengan memilih ikon folder di sebelah editor.

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

  3. Dalam tindakan sebaris yang mengidentifikasi fungsi penangan Lambda yang memenuhi syarat, pilih Add Debug Configuration. Jika opsi tambahkan konfigurasi debug tidak muncul, Anda harus mengaktifkan lensa kode. Untuk mengaktifkan lensa kode, lihatMengaktifkan lensa kode AWS Toolkit .

    Mengakses opsi Tambahkan Konfigurasi Debug dalam tindakan sebaris untuk penangan fungsi Lambda.
  4. Pilih runtime tempat aplikasi SAM Anda berjalan.

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

    • "name" – Masukkan nama yang mudah dibaca.

    • "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": Pasangan nilai kunci berformat JSON yang menentukan muatan peristiwa.

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

  6. Jika Anda puas dengan konfigurasi debug, pilih panah play hijau di sebelah JALANKAN untuk memulai debugging.

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

    catatan

    Jika Anda melihat Docker disebutkan dalam pesan kesalahan, lihat catatan ini.

Menjalankan dan men-debug sumber daya Amazon API Gateway lokal

Anda dapat menjalankan atau men-debug sumber daya lokal AWS SAM API Gateway yang ditentukan dalamtemplate.yaml. Lakukan dengan menjalankan konfigurasi AWS Cloud9 peluncuran type=aws-sam dengan fileinvokeTarget.target=api.

catatan

API Gateway mendukung dua jenis APIs. Mereka adalah REST dan HTTP APIs. Namun, fitur API Gateway dengan AWS Toolkit hanya mendukung REST APIs. Terkadang HTTP APIs disebut “API Gateway V2 APIs.”

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 handler (khususnya, file.js, .cs, atau .py) di AWS SAM proyek Anda, arahkan kursor ke handler Lambda, dan pilih Tambahkan Konfigurasi Debug Jika opsi tambahkan konfigurasi debug tidak muncul, aktifkan lensa kode. Untuk mengaktifkan lensa kode, lihatMengaktifkan lensa kode AWS Toolkit .). Kemudian, dalam menu, pilih item bertanda API Event.

    • 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": {} }
  2. Di menu tarik-turun di sebelah tombol Run, pilih konfigurasi peluncuran (dinamai myConfig dalam contoh sebelumnya).

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

  4. Pilih tombol jalankan di sebelah tombol “play” hijau.

  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 konfigurasi peluncuran (misalnya,"path": "/hello").

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

httpMethod

Gunakan salah satu kata kerja berikut: “delete,” “get,” “head,” “options,” “patch,” “post,” dan “put.”

payload

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

payload.pathmenunjuk ke file yang berisi payload JSON.

payload.json menentukan muatan JSON sebaris.

headers

Peta opsional pasangan nama-nilai. Gunakan untuk menentukan header HTTP untuk disertakan dalam permintaan.

"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

(Opsional) Gunakan string ini untuk mengatur permintaan (misalnya,"querystring": "abc=def&ghi=jkl"). querystring

aws

Bagaimana informasi AWS koneksi disediakan. Untuk informasi selengkapnya, lihat tabel properti koneksi AWS (aws) di Opsi konfigurasi untuk men-debug aplikasi nirserver.

sam

Bagaimana AWS SAM CLI membangun aplikasi. Untuk informasi selengkapnya, lihat properti AWS SAM CLI (sam) di Opsi konfigurasi untuk men-debug aplikasi nirserver.

Menyinkronkan aplikasi tanpa server

Contoh ini menunjukkan cara menyinkronkan aplikasi tanpa server yang dibuat di topik sebelumnya (Membuat aplikasi nirserver) untuk AWS menggunakan. AWS Toolkit for Visual Studio Code

Prasyarat

  • Pastikan untuk memilih nama bucket Amazon S3 yang unik secara global.

  • Pastikan kredenal yang Anda konfigurasikan menyertakan akses baca/tulis yang sesuai ke layanan berikut: Amazon S3,,, AWS CloudFormation dan Amazon API Gateway. AWS Lambda

  • Untuk aplikasi dengan tipe penerapanImage, pastikan Anda memiliki nama bucket Amazon S3 yang unik secara global dan URI repositori Amazon ECR yang akan digunakan untuk penerapan.

Menyinkronkan aplikasi tanpa server

  1. Di jendela AWS Explorer, buka menu konteks (klik kanan) untuk simpul Lambda dan pilih Sync SAM Application.

  2. Pilih Wilayah AWS untuk menyebarkan ke.

  3. Pilih file template.yaml yang akan digunakan untuk deployment.

  4. Masukkan nama bucket Amazon S3 yang dapat digunakan penerapan ini. Bucket harus berada di Wilayah tempat Anda menerapkan.

    Awas

    Nama bucket Amazon S3 harus unik secara global di semua nama bucket yang ada di Amazon S3. Tambahkan pengenal unik ke nama yang diberikan dalam contoh berikut atau pilih nama lain.

  5. Jika aplikasi nirserver Anda menyertakan fungsi dengan tipe paket Image, masukkan nama repositori Amazon ECR yang dapat digunakan oleh deployment ini. Repositori harus berada di Wilayah tempat Anda men-deploy.

  6. Masukkan nama untuk tumpukan yang di-deploy, baik nama tumpukan baru atau nama tumpukan yang sudah ada.

  7. Verifikasi keberhasilan deployment pada tab AWS Toolkit di Konsol.

    Jika terjadi kesalahan, pesan muncul di kanan bawah.

    Jika hal ini terjadi, periksa teks di tab AWS Toolkit untuk detailnya. Berikut ini adalah contoh detail kesalahan.

    Error with child process: Unable to upload artifact HelloWorldFunction referenced by CodeUri parameter of HelloWorldFunction resource. S3 Bucket does not exist. Execute the command to create a new bucket aws s3 mb s3://pbart-my-sam-app-bucket An error occurred while deploying a SAM Application. Check the logs for more information by running the "View AWS Toolkit Logs" command from the Command Palette.

    Dalam contoh ini, kesalahan terjadi karena bucket Amazon S3 tidak ada.

Ketika penerapan selesai, Anda akan melihat aplikasi Anda yang terdaftar di AWS Explorer. Untuk mempelajari cara memanggil fungsi Lambda yang dibuat sebagai bagian dari aplikasi, lihat Memanggil fungsi Lambda jarak jauh.

Menghapus aplikasi nirserver dari AWS Cloud

Menghapus aplikasi tanpa server melibatkan penghapusan AWS CloudFormation tumpukan yang sebelumnya Anda gunakan ke Cloud. AWS Perhatikan bahwa prosedur ini tidak menghapus direktori aplikasi Anda dari host lokal Anda.

  1. Buka AWS Explorer.

  2. Di jendela AWS Explorer, perluas Wilayah yang berisi aplikasi yang di-deploy yang ingin Anda hapus, lalu perluas AWS CloudFormation.

  3. Buka menu konteks (klik kanan) untuk nama AWS CloudFormation tumpukan yang sesuai dengan aplikasi tanpa server yang ingin Anda hapus. Kemudian, pilih Delete CloudFormation Stack.

  4. Untuk mengonfirmasi bahwa Anda ingin menghapus tumpukan yang dipilih, pilih Hapus.

Jika penghapusan tumpukan berhasil, AWS Toolkit menghapus nama tumpukan dari daftar di Explorer. AWS CloudFormation AWS

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