Pengantar Amazon API Gateway menggunakan AWS Lambda

Pengantar Amazon API Gateway menggunakan AWS Lambda

Node Sumber: 1860150

Pengantar

Apa itu API?

Secara sederhana, API adalah pembawa pesan; mari kita pahami ini dengan beberapa contoh. Katakanlah Anda lapar dan Anda perlu memasak sesuatu di rumah. Jika ingin membuat mi, tinggal ambil bahannya dari lemari, nyalakan kompor, dan buat sendiri. Ini adalah program yang melakukan sesuatu sendiri dengan sumber dayanya sendiri. Tetapi katakanlah Anda ingin pizza - Anda tidak memiliki bahan-bahannya, dan oven rumah Anda tidak terlalu cocok untuk membuat kerak renyah yang enak. Jadi Anda pergi ke tempat pizza sebagai gantinya. Namun tidak seperti di rumah, Anda tidak bisa begitu saja masuk ke dapur dan mulai menggunakan bahan-bahannya untuk membuat pizza. Mereka tidak ingin tangan kotor Anda menutupi barang-barang mereka! Jadi apa yang akan kamu lakukan? Anda harus pergi ke konter dan memesan โ€“ akan ada menu yang mencantumkan pizza apa yang bisa Anda pesan dan topping apa atau pilihan lain yang bisa Anda pilih. Ini adalah API.

Antarmuka Pemrograman aplikasi (API) adalah seperangkat aturan yang menentukan bagaimana dua program perangkat lunak harus berinteraksi.

API memungkinkan satu program perangkat lunak untuk mengakses fungsionalitas program perangkat lunak lain. Misalnya, jika Anda memiliki program perangkat lunak yang perlu mengambil data dari internet, program tersebut dapat menggunakan API untuk meminta data tersebut dari server. Server kemudian akan merespons dengan data yang diminta, dan program perangkat lunak dapat menggunakannya sesuai kebutuhan.

API digunakan untuk memungkinkan program perangkat lunak yang berbeda untuk berkomunikasi satu sama lain dan berbagi data dan fungsionalitas. Mereka adalah bagian penting dari pengembangan perangkat lunak modern, karena memungkinkan sistem yang berbeda untuk bekerja bersama dan memungkinkan pembuatan aplikasi perangkat lunak yang lebih kompleks dan kuat.

API HTTP

HTTP API adalah jenis API yang menggunakan protokol HTTP untuk mengirim dan menerima data. Ini memungkinkan program perangkat lunak untuk mengirim dan menerima data menggunakan permintaan dan respons HTTP. Permintaan dan tanggapan ini bisa dalam berbagai format, seperti teks biasa, JSON, atau XML. Mereka umumnya digunakan dalam berbagai aplikasi, termasuk aplikasi web, aplikasi seluler, dan layanan mikro. API ini relatif lebih murah daripada API REST dan memiliki lebih sedikit fungsi daripada yang berikutnya.

API REST

REST API adalah jenis API yang mengikuti seperangkat prinsip arsitektur yang disebut REST (Representational State Transfer). REST adalah gaya arsitektur perangkat lunak yang mendefinisikan serangkaian batasan untuk membuat API web.

API stateful

Stateful API adalah API yang menyimpan informasi tentang setiap permintaan klien dan menggunakan informasi ini untuk memproses permintaan selanjutnya. Ini berarti API menyimpan data tentang setiap permintaan, seperti parameter permintaan, dalam sesi sisi server. Data ini kemudian digunakan untuk memproses permintaan selanjutnya dari klien yang sama.

API tanpa negara

API tanpa kewarganegaraan, di sisi lain, tidak memelihara informasi tentang permintaan klien. Itu memproses setiap permintaan secara independen, tanpa menyimpan data apa pun tentang permintaan sebelumnya. Ini berarti API tidak mempertahankan sesi sisi server dan tidak menggunakan data dari permintaan sebelumnya untuk memproses permintaan selanjutnya.

Perbedaan Utama antara Stateful dan Stateless API

Di bawah ini adalah beberapa perbedaan utama antara API stateful dan stateless:

API STATEFUL

API NEGARA

1. Memerlukan sesi sisi server untuk menyimpan data tentang permintaan klien 1. Tidak memerlukan sesi sisi server untuk menyimpan data tentang permintaan klien
2. Ini terkadang lebih lambat daripada Stateless API karena membutuhkan dan menyimpan data yang membutuhkan waktu. 2. Stateless API lebih cepat karena tidak memerlukan dan menyimpan data tentang permintaan.
3. Stateful API tidak mudah untuk diskalakan  3. Lebih mudah untuk diskalakan karena mereka tidak perlu memelihara data tentang permintaan sebelumnya.
4. Umumnya dianggap kurang aman dibandingkan Stateless API 4. Ini umumnya dianggap lebih aman.

Apa itu Amazon API Gateway?

Amazon API Gateway adalah Layanan AWS yang digunakan untuk membuat, memelihara, dan memantau API stateful (websocket) dan stateless (HTTP dan REST). Kami dapat menggunakan API ini untuk mengakses:

  1. Layanan AWS apa pun
  2. Data yang disimpan di AWS cloud (seperti bucket S3)
  3. Layanan web lainnya.

Jika Anda seorang pengembang API, Anda juga dapat dengan mudah membuat API Anda untuk pengembang pihak ketiga.

Terutama ada dua jenis pengguna AWS API Gateway.

  1. i) Pengembang API yang membuat dan menerapkan API untuk mengaktifkan fungsionalitas yang diperlukan di API Gateway
  2. ii) Pengembang Aplikasi yang merupakan pelanggan dari pengembang API.

Arsitektur Amazon API Gateway

arsitektur

Arsitektur ini menggambarkan bagaimana aplikasi tanpa server dapat dibangun dengan pengalaman developer yang konsisten dan terintegrasi. Dari pengguna akhir hingga pusat data, API Gateway menangani semua tugas yang terlibat, seperti menerima dan memproses ribuan panggilan bersamaan, manajemen lalu lintas, otorisasi, pemantauan, kontrol akses, dll.

Fitur Amazon API Gateway

  1. Ini mendukung API stateful dan stateless. (Contoh: Websocket, HTTP, dan REST).
  2. Mekanisme autentikasi yang kuat mencakup Identitas AWS, Kebijakan Manajemen Akses, dan pengotorisasi Lambda.
  3. Portal pengembang tempat pengembang API dapat memublikasikan API mereka.
  4. Eksekusi dan akses logging untuk CloudWatch, termasuk opsi untuk menyetel alarm.
  5. Integrasi dengan Layanan AWS lainnya seperti AWS Lambda dan AWS Kinesis.
  6. Integrasi dengan AWS WAF digunakan untuk perlindungan terhadap eksploitasi web, dan AWS X-Ray digunakan untuk memahami dan menekankan latensi kinerja.

Memulai dengan Amazon API Gateway

Sekarang kita akan membuat API tanpa server. Dalam API tanpa server, kita dapat fokus pada aplikasi kita alih-alih menghabiskan waktu mengelola server. Cara kerjanya seperti ini:

  • API dipanggil oleh klien
  • API mengirimkan permintaan ke lambda
  • Lambda mengeksekusi fungsi lambda dan mengirimkan hasilnya kembali ke API
  • Setelah menerima hasil dari lambda, API merespons klien

http api

Langkah 1 โ€“ Buat fungsi lambda

Fungsi Lambda digunakan untuk backend API kami. Lambda menjalankan kode hanya saat dibutuhkan. Itu juga menskalakan secara otomatis dari beberapa permintaan per hari hingga ribuan permintaan setiap detik.

buat fungsi lambada

Membuat fungsi lambda:

1) Buka konsol lambda di https://console.aws.amazon.com/lambda

2) Klik Buat fungsi.

3) Masukkan "fungsi-saya" sebagai nama fungsi.

4) Pilih Python 3.9 sebagai runtime.

5) Untuk fungsi ini kita tidak perlu mengubah apa pun di tab Permissions and Advanced Settings karena izin default sudah cukup untuk demonstrasi ini.

4) Klik Buat fungsi.

LANGKAH 2 โ€“ Membuat API HTTP

API Amazon

API HTTP menyediakan titik akhir HTTP untuk fungsi Lambda Anda. Cara kerjanya seperti ini:

  • Klien mengirimkan kueri ke HTTP API
  • API memicu lambda yang kemudian menjalankan fungsi lambda
  • Lambda mengirimkan hasilnya ke API
  • API merespons klien dengan respons yang diterima

Langkah-langkah untuk membuat API HTTP

1) Kunjungi konsol API Gateway di https://console.aws.amazon.com/apigateway

2) Klik Bangun untuk membuat API HTTP pertama Anda

3) Klik Tambahkan integrasi untuk integrasi

4) Pilih Lambda.

5) Masukkan fungsi lambda Anda my-function.

6) Untuk nama API, masukkan my-http-api.

7) Klik Selanjutnya.

8) Tinjau rute yang dibuat untuk Anda, lalu pilih Berikutnya.

9) Tinjau tahapan yang dibuat untuk Anda, lalu pilih Berikutnya.

10) Klik Buat.

LANGKAH 3 Uji API Anda โ€“

Selanjutnya, kita perlu menguji API kita untuk memastikannya berfungsi. Untuk ini kami akan menggunakan browser web untuk menjalankan API kami.

API Amazon

Untuk menguji API kami

  1. Buka konsol API Gateway di https://console.aws.amazon.com/apigateway
  2. Pilih API Anda.
  3. Catat URL pemanggilan API Anda. (lihat gambar di atas)
  4. Salin URL pemanggilan API Anda, dan tempel di browser web. Bergabunglah dengan URL pemanggilan dan nama fungsi lambda Anda untuk memanggil fungsi Lambda Anda. Konsol API Gateway membuat rute menggunakan nama fungsi Lambda Anda "my-function" secara default. 

    URL lengkap akan terlihat seperti https://abcdef123.execute-api.us-east-2.amazonaws.com/my-function. Saat Anda memuat URL ini, permintaan GET dikirim oleh browser Anda ke API

  1. Anda akan melihat teks "Halo dari Lambda!" di peramban Anda. Karenanya respons API Anda diverifikasi.

API Amazon

Kesimpulan

Kami telah membuat API HTTP pertama menggunakan Amazon API Gateway dan AWS Lambda. Selanjutnya, kita dapat menjelajahi berbagai kasus penggunaan yang sama, dan demikian pula, kita juga dapat membuat REST API, yang menyediakan lebih banyak fungsi.

Apakah Anda menyukai artikel ini? Beri tahu kami pendapat Anda di komentar di bawah. Juga, jangan lupa menyebutkan artikel mana yang ingin Anda baca selanjutnya.

Stempel Waktu:

Lebih dari Analisis Vidhya