Bagaimana Cara Menerapkan API Node.js Tanpa Server dengan AWS API Gateway?

Bagaimana Cara Menerapkan Api Node Js Tanpa Server Dengan Aws Api Gateway



AWS adalah platform komputasi awan dengan portofolio layanan yang luas. Dari penyimpanan data hingga manipulasi data dan analisis data, layanan ini mencakup berbagai aspek Industri TI. Saat ini, AWS juga mendukung beberapa bahasa pengembangan dan lingkungan runtime. Salah satu contoh paling umum dari layanan tersebut adalah AWS Lambda

AWS Lambda adalah layanan komputasi berbasis peristiwa dari AWS yang memungkinkan penggunanya mengeksekusi kode mereka tanpa menyediakan atau mengelola server. Lambda secara efisien menangani semua infrastruktur komputasi dan administrasi sumber daya. Ada beberapa bahasa pengembangan yang didukung oleh layanan Lambda misalnya Go, Ruby, Python, dll. Lambda juga dianggap sebagai layanan hemat biaya karena hanya mengenakan biaya untuk waktu komputasi yang dikonsumsi oleh pengguna. Tidak ada biaya tambahan bila kode yang diberikan ke fungsi Lambda tidak dalam status eksekusi.

Baca selengkapnya : Memulai Dengan AWS Lambda







Garis Besar Singkat



Artikel ini menggambarkan aspek-aspek berikut:



Apa itu Kerangka Tanpa Server?

Syarat “Tanpa Server” mengacu pada terminologi di mana penyediaan dan pemeliharaan server dikelola oleh perangkat lunak pihak ketiga atau penyedia cloud. Kerangka kerja tersebut memungkinkan pengguna untuk fokus pada logika bisnis inti daripada memelihara server. Saat ini, Kerangka Kerja Tanpa Server telah menarik perhatian para raksasa teknologi dan menawarkan manfaat yang sangat besar.





Selain itu, ini juga merupakan solusi hemat biaya karena server disediakan dan dikelola oleh penyedia layanan. Di AWS, Lambda dianggap sebagai layanan Tanpa Server karena hanya memerlukan kode dari pengguna untuk beroperasi. Dengan AWS Lambda, pengguna dapat dengan mudah membangun dan menskalakan aplikasi di lingkungan runtime berbeda dengan cara yang hemat biaya.

Apa itu API?

API adalah singkatan dari “Antarmuka Pemrograman Aplikasi”. Pengenalan formal API mencakup seperangkat definisi dan protokol yang memungkinkan dua komponen perangkat lunak atau aplikasi bertukar informasi berguna untuk komunikasi.



Penerapan API secara real-time adalah dengan menggunakan web browser. Setiap kali pengguna mencari situs web, permintaan dikirimkan ke server tempat situs web tersebut berada. Komunikasi antara server dan browser ini terjadi melalui API.

Apa itu API Gerbang?

API Gateway adalah layanan AWS yang terkelola sepenuhnya yang mirip dengan alat Manajemen API. Dengan menggunakan gateway API, pengembang dapat dengan mudah membuat, mengelola, menerbitkan, dan menskalakan API yang berbeda. Demikian pula, gateway API memungkinkan pengguna untuk berkomunikasi dengan layanan mikro lain yang berjalan di sisi server. Dibutuhkan masukan dari pengguna, memprosesnya, dan kemudian mengarahkannya ke layanan mikro yang sesuai. Layanan mikro ini kemudian akan memproses masukan ini untuk menghasilkan keluaran.

Apa sajakah Jenis API yang Berbeda di API Gateway?

Gerbang API menyediakan layanan manajemen untuk tiga jenis API berbeda seperti yang disebutkan di bawah:

API HTTP: API ini banyak digunakan dalam pengembangan web yang terbatas pada sisi klien saja. API tersebut dapat diklasifikasikan sebagai pribadi atau publik.

API Istirahat: Istilah REST adalah singkatan dari “API Transfer Negara Representasi”. Ini adalah salah satu pendekatan yang paling umum digunakan yang memisahkan frontend dan backend aplikasi. REST API bersifat tanpa kewarganegaraan dan fleksibel untuk pengembangan dan implementasi.

API WebSocket: API tersebut digunakan ketika komunikasi soket terlibat. WebSocket API memungkinkan pengguna membuat soket untuk komunikasi dupleks penuh dua arah dalam pengembangan Web. API ini ditulis dalam JavaScript.

Bagaimana Cara Menerapkan API Node.js Tanpa Server Dengan API Gateway?

Untuk penerapan API Node.js Tanpa Server dengan API Gateway, kami akan menggunakan bucket S3, Fungsi Lambda, dan gateway API. Bucket S3 akan berisi kode aplikasi. URI unik bucket akan diberikan ke Fungsi Lambda sebagai pengendali. Gateway API akan ditambahkan sebagai pemicu Fungsi Lambda yang akan memproses masukan pengguna dan memberikan keluaran yang sesuai.

Berikut adalah langkah-langkah untuk men-deploy API Node.js Tanpa Server dengan gateway API:

Langkah 1: Buat Fungsi Lambda

Untuk membuat Fungsi Lambda, akses “Lambda” layanan dari Konsol Manajemen AWS :

Belajarlah lagi: “Cara Membuat Fungsi Lambda Dengan Python Runtime” .

Pada antarmuka Fungsi Lambda, klik “Buat fungsi” tombol:

Dari antarmuka Buat Fungsi, pilih “Penulis dari awal” pilihan:

Berikutnya adalah 'Informasi dasar' bagian. Di bagian ini, berikan nama untuk fungsi Lambda di “Nama fungsi” :

Klik pada “Buat fungsi” tombol yang terletak di bagian bawah antarmuka:

Di sini, itu fungsi telah dibuat berhasil :

Langkah 2: Buat Gerbang API

Langkah selanjutnya adalah membuat API Gateway. Untuk tujuan ini, akses “Gerbang API” layanan dari Konsol Manajemen AWS :

Gulir ke bawah antarmuka API Gateway dan klik 'Membangun' pilihan dari API REST memblokir:

Di “Buat API” antarmuka, Pilih pengikut pilihan yang disorot . Saat kami sedang membangun a Istirahat API dari awal, kami telah memilih opsi berikut:

Dalam Pengaturan bagian pada antarmuka yang sama, berikan nama untuk API di “nama API” bidang teks:

Klik pada “Buat API” tombol:

Setelah berhasil membuat API, klik pada “Tindakan” tombol dan pilih opsi yang disorot berikut untuk mengonfigurasi sumber daya dan metode API:

Selanjutnya, berikan nama API di 'Nama Sumberdaya' bidang teks. Dalam Jalur Sumber Daya, pengguna dapat menentukan jalur sumber daya. Jalur yang ditentukan ini kemudian akan digabungkan dengan metode asli untuk menangani permintaan. Klik “Buat Sumber Daya” tombol:

Setelah membuat Sumber Daya, klik pada “Tindakan” tab lagi dan pilih “Buat Sumber Daya” metode untuk menentukan metode dan sumber daya di dalam API:

Berikan nama 'Nama Sumberdaya' bidang dan klik pada “Buat Sumber Daya” tombol:

Setelah mengonfigurasi sumber daya yang disarangkan, ketuk “Tindakan” tombol dan klik pada “Buat Metode” tombol dari menu drop down :

Kami ingin menguji kerja API kami dengan menggunakan DAPATKAN permintaan di Node.js. Oleh karena itu, di antarmuka Metode, kami akan memilih 'MENDAPATKAN' meminta:

Setelah memilih DAPATKAN permintaan , klik pada 'memeriksa' tombol untuk mengonfirmasi perubahan:

Di 'MENDAPATKAN' antarmuka metode, berikan nama untuk fungsi Lambda yang kita buat sebelumnya dan buat konfigurasi berikut. Setelah itu tekan 'Menyimpan' tombol untuk mengonfirmasi perubahan:

Setelah mengklik 'Menyimpan' tombol, kotak dialog berikut akan muncul. Klik 'OKE' tombol:

Demikian pula, buat satu metode lagi dengan mengikuti langkah serupa seperti yang telah kita ikuti untuk metode pertama. Pengguna dapat membuat beberapa metode dalam API berdasarkan kebutuhan mereka. Setelah mengkonfigurasi semua Metode, klik pada “Tindakan” tab dan pilih “Terapkan API” pilihan:

Ini akan menampilkan kotak dialog berikut. Dalam “Tahap penerapan” berikan rinciannya. Berikutnya adalah 'Nama panggung' bidang untuk menentukan nama Tahap. Klik pada 'Menyebarkan' tombol:

Itu API telah berhasil dibuat :

Gulir ke bawah antarmuka dan klik pada 'Simpan perubahan' tombol:

Langkah 3: Buat Bucket S3

Pada langkah ini, kita akan membuat bucket untuk menyimpan kode. Kode ini akan dikaitkan dengan fungsi Lambda dan API akan digunakan untuk mengambil atribut yang dikonfigurasi di dalam kode.

Untuk membuat bucket S3, cari 'S3' layanan di bilah pencarian Konsol Manajemen AWS. Ketuk nama layanan dari hasil yang ditampilkan:

Di konsol S3, klik “Buat ember” pilihan untuk memulai proses:

Dalam Konfigurasi umum bagian, berikan pengidentifikasi unik global untuk keranjang di bidang teks yang disorot :

Dengan menjaga pengaturan sebagai bawaan , klik pada “Buat ember” tombol di bagian bawah antarmuka:

Ini akan membuat ember. Sekarang, untuk mengunggah kode ke bucket S3, kami telah menyediakan a kode Node JS sederhana di dalam GitHub gudang. Unduh kode di format zip :

Setelah mengunduh berkas zip , pergi ke Dasbor S3 dan pilih ember. Pada antarmuka berikutnya, klik 'Mengunggah' tombol dan mengunggah itu berkas zip ke ember:

Belajarlah lagi: Bagaimana Cara Mengunggah Objek di Amazon Simple Storage Service?

Ketuk “Tambahkan file” tombol yang terletak di sebelah kanan antarmuka, bersebelahan dengan 'Tambah Folder' tombol. Setelah menambahkan berkas zip ke ember, tekan 'Mengunggah' tombol di bagian bawah antarmuka:

Itu mengajukan telah berhasil diunggah :

Setelah mengunggah file ke ember, klik pada Obyek untuk melihat properti:

Klik pada “Salin URI S3” tombol. Ini akan ditambahkan ke fungsi Lambda:

Pergi ke Dasbor Lambda dan pilih fungsi Lambda:

Gulir ke bawah ke 'Kode' bagian dan ketuk “Unggah dari” tombol. Dari menu drop down, klik pada “Lokasi Amazon S3” pilihan:

Tempelkan “URI S3” di kotak dialog yang ditampilkan dan klik 'Menyimpan' tombol:

Di Antarmuka Fungsi Lambda , gulir ke bawah ke “Pengaturan waktu proses” dan klik pada “Sunting” tombol:

Dalam “Penangan” bidang, edit konfigurasi berikut. Itu 'api simpul' adalah nama folder yang diunggah ke bucket S3 dan index.js adalah titik masuknya. Setelah itu klik pada 'Menyimpan' tombol:

Langkah 4: Verifikasi

Pergi ke gerbang API konsol layanan dan klik “API” nama:

Setelah memilih API, klik pada 'Tahapan' tombol dari sidebar lalu klik tahap penerapan, misalnya tahap pertama:

Salin URL dan meluncurkan Tukang pos alat di mesin lokal:

Membuat DAPATKAN permintaan dalam Tukang pos dan tempel URL di dalamnya. Setelah mengklik 'Mengirim' tombol, kita memperoleh hasil sebagai berikut:

Sekian dari panduan ini.

Kesimpulan

Untuk menerapkan API Node.js dengan gateway API, unggah kode ke bucket S3, tambahkan sebagai pengendali, dan gateway API sebagai pemicu ke Fungsi Lambda. Permintaan yang dimulai menggunakan Tukang Pos akan dikirimkan ke Fungsi Lambda melalui API. Untuk membuat API, gunakan layanan gateway API AWS. Bucket S3 yang ditambahkan sebagai pengendali Fungsi Lambda akan menyediakan kode untuk pemrosesan permintaan. Outputnya akan ditampilkan di konsol Tukang Pos. Artikel ini adalah tutorial langkah demi langkah untuk mengimplementasikan API Node.js dengan gateway API AWS.