Rumah >hujung hadapan web >tutorial js >Menjalankan lambdas secara setempat menggunakan Javascript/Node.js

Menjalankan lambdas secara setempat menggunakan Javascript/Node.js

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-04 06:23:45647semak imbas

Running lambdas locally using Javascript/Node.js

Bosan menggunakan awan hanya untuk menguji AWS Lambda anda? Ia seperti menghantar surat kepada diri sendiri hanya untuk membaca pruf—perlahan, mahal dan sama sekali tidak perlu.

Bagaimana jika anda boleh menggunakan Lambda anda secara setempat—terus daripada aplikasi JavaScript anda? Tiada perjalanan pergi balik awan, tiada menunggu, hanya maklum balas segera. Dengan AWS SAM (Model Aplikasi Tanpa Pelayan) dan taburan Node.JS/JavaScript, anda boleh menguji dan nyahpepijat Lambdas anda pada mesin anda, menjimatkan masa, wang?.

Pra-Syarat:

Saya menggunakan PC Windows dan menyediakan perkara berikut sebelum meneruskan:

  • AWS SDK
aws --version
  • SAM CLI
sam --version
  • Pelabuh
docker --version
  • Node.js
node --version

Mari mulakan!

Kami akan mulakan dengan mencipta aplikasi demo menggunakan arahan init dan kemudian teruskan untuk menggunakan lambda dalam kod aplikasi (Nodejs).

1> Navigasi ke folder yang anda mahu sediakan projek anda.

sam init --runtime nodejs

Ini akan mencipta aplikasi asas Hello world. Ia mempunyai pengendali Lambda yang ringkas yang digunakan semasa kejadian dan mengembalikan semula data yang diterima daripada URL tertentu, bersama-sama dengan mesej Hello World.

Mari kita mendalami perkara yang dilaksanakan oleh fail dan cara kod tersebut berfungsi:

  • Templat SAM (template.js) -> ia melaksanakan Fungsi HelloWorld di mana ia menggunakan sifat Kod URI yang ditetapkan kepada Hello World SLASH. Ini menunjukkan bahawa kod pengendali Lambda berada di dalam folder Hello World.
    • app.js -> Ini dirujuk dalam sifat Pengendali templat SAM, ia mengandungi fungsi yang dieksport yang dipanggil Pengendali Lambda.

Anda akan melihat kebergantungan bernama 'axios' dalam package.json, ambil perhatian bahawa modul hanya digunakan untuk membuat permintaan HTTP ke URL yang diberikan.

2> Pasang kebergantungan daripada package.json dengan menavigasi ke folder yang mempunyai fail, kemudian gunakan arahan:

npm install

3> Sekarang, mulakan perkhidmatan Lambda secara setempat dengan menjalankan arahan.

sam local start-lambda

Jadi, kini perkhidmatan Lambda tempatan sedang berjalan pada port 3001.

4> Kami akan menggunakan fungsi lambda kami dari dalam kod aplikasi kami menggunakan SDK AWS. Untuk berbuat demikian, mari kita buat contoh projek node.js. Buat folder baharu, navigasi ke folder dan masukkan arahan.

npm init
npm install aws-sdk --save

5> Sekarang buat fail test.js dan rujuk AWS SDK, konfigurasikan rantau AWS, sertakan objek Lambda.

aws --version

Objek parameter di sini, memanggil Fungsi Lambda, menggantikan nama fungsi mengikut kod aplikasi. Titik akhir merujuk kepada tempat perkhidmatan lambda tempatan anda dimulakan.

6> Sekarang jalankan arahan dalam terminal baharu:

sam --version

7> Pengesahan dan Ujian: Apabila anda menavigasi kembali ke cangkerang kuasa AWS SAM, anda boleh melihat ia menggunakan pengendali Lambda secara setempat, dengan memuatkan fungsi tersebut dalam bekas Docker terlebih dahulu dan laksanakannya dengan data acara input kami.
Sekarang navigasi kembali ke terminal lain, anda boleh melihat respons daripada fungsi Lambda, dengan kod status 200 ✅, mesej Hello World dan alamat IP lokasi?.

Membungkus

Dan begitulah—cara yang lebih pantas dan lebih bijak untuk menguji fungsi AWS Lambda anda tanpa meninggalkan keselesaan persediaan setempat anda. Dengan menggunakan Lambdas secara setempat dengan JavaScript dan NodeJS, anda telah membuka kunci tahap kecekapan yang baharu. Kini anda boleh lelaran dengan lebih pantas, nyahpepijat dengan lebih bijak dan membina apl yang lebih sejuk—semuanya sambil mengekalkan kos awan anda rendah.

Selamat pengekodan, dan semoga Lambdas anda sentiasa berjalan lancar di dalam negara seperti di awan! ?

Atas ialah kandungan terperinci Menjalankan lambdas secara setempat menggunakan Javascript/Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn