Pengantar Pemicu yang Tersedia untuk Memanggil Fungsi Lambda

Pengantar Pemicu Yang Tersedia Untuk Memanggil Fungsi Lambda



AWS Lambda adalah layanan berbasis cloud yang luar biasa yang merevolusi dunia tanpa server. Ini sebenarnya adalah perangkat lunak sebagai layanan (SaaS) yang dapat dengan mudah dan cepat diatur dan sangat membantu untuk mengurangi anggaran keseluruhan infrastruktur cloud Anda. Yang harus Anda lakukan hanyalah mendesain kode Anda dan menjalankannya menggunakan fungsi lambda.

Sekarang, intinya di sini adalah bagaimana Anda seharusnya mengeksekusi kode Anda dalam fungsi tersebut dan jawabannya adalah bahwa ada daftar panjang metode di mana Anda dapat menjalankan atau memicu fungsi lambda Anda. Ini mencakup banyak layanan AWS lainnya yang dapat digunakan untuk memanggil fungsi yang diinginkan saat diperlukan.

Dalam artikel ini, Anda akan melihat penjelasan singkat mengenai layanan dan teknik yang dapat diterapkan untuk menjalankan fungsi lambda Anda di Amazon.







Jenis Panggilan

Sebelum kita melangkah lebih jauh, mari kita bahas dua jenis pemanggilan utama berikut yang dapat ditangani oleh fungsi lambda.



  • Panggilan Sinkron
  • Panggilan Asinkron
  1. Panggilan Sinkron
    Dalam pemanggilan sinkron, layanan yang memanggil lambda harus menunggu hingga hasilnya dikembalikan ke layanan tersebut dan kemudian melanjutkan proses selanjutnya. Kita juga dapat mengatakan bahwa output dari fungsi lambda diperlukan oleh fungsi atau layanan itu sendiri yang memanggil lambda ini.
  2. Panggilan Asinkron

    Di sini, tidak perlu menunggu fungsi lambda untuk memberikan hasil kembali ke pemanggil. Ini terutama digunakan untuk pemberitahuan atau untuk memicu beberapa peristiwa independen lainnya di AWS. Layanan yang ingin menjalankan fungsi lambda hanya mengirim pemicu dan operasi itu diantrekan di lambda dan akan dieksekusi pada gilirannya.



Berbagai Cara untuk Memanggil Lambda

Di sini, Anda akan melihat banyak cara untuk menjalankan fungsi lambda. Mengetahui hal ini sangat membantu Anda saat berikutnya Anda mendesain infrastruktur AWS yang sederhana namun hemat biaya.





Langsung Aktifkan Fungsi Lambda

Dalam kebanyakan kasus, fungsi lambda dirancang untuk dipicu menggunakan layanan lain, tetapi Anda dapat memanggilnya secara langsung menggunakan konsol manajemen AWS, AWS CLI, dan melalui URL fungsi.

Memanggil Lambda dari Konsol Manajemen

Saat Anda membuat fungsi lambda apa pun di konsol AWS, Anda dapat dengan mudah memicunya menggunakan opsi uji coba di konsol. Itu Uji tombol tersedia di bawah bagian kode fungsi lambda.



Anda dapat membuat acara khusus serta menggunakan konsol dengan pola acara khusus Anda.

Dengan cara ini, fungsi lambda dapat dipicu dari konsol AWS.

AWS CLI

AWS memberi Anda kemampuan untuk menggunakan semua sumber dayanya menggunakan antarmuka baris perintah AWS. Setiap fungsi lambda juga dapat dipanggil dengan CLI ini. Ini bisa sangat efektif untuk menguji berbagai hal selama tahap pengembangan. Mengikuti perintah AWS CLI dapat digunakan sebagai pemicu untuk menjalankan fungsi lambda.

[dilindungi email] :~$ aws lambda memanggil \
--nama-fungsi < Masukkan Nama Fungsi Lambda > \
--muatan < Nilai masukan untuk Fungsi Lambda > \
--cli-binary-format < base64 | raw-in-base64-out > < Nama File Keluaran >

Fungsi ini berhasil dipicu dan Anda juga dapat mengamati ini di output.

URL fungsi

URL Fungsi sebenarnya adalah titik akhir HTTP yang dapat Anda konfigurasikan untuk fungsi lambda Anda. URL ini dapat digunakan untuk memicu fungsi lambda dan Anda juga dapat membagikan URL ini dengan pengguna lain bahkan di luar akun AWS Anda untuk menjalankan fungsi lambda. Meskipun Anda harus berhati-hati dengan URL fungsi, siapa pun yang memiliki tautan ini dapat memicu fungsi lambda Anda berkali-kali, dan semua biaya akan ditanggung oleh Anda.

URL fungsi dapat dikonfigurasi saat membuat serta setelah membuat fungsi lambda. Untuk ini, cukup buka pengaturan lanjutan di bagian konfigurasi dan centang Aktifkan URL fungsi kotak.

Jika Anda belum melampirkan URL fungsi saat membuat fungsi lambda, Anda dapat melakukannya nanti. Untuk ini, Anda harus pergi ke tab konfigurasi, pilih URL fungsi, dan klik Buat URL fungsi .

Dengan cara ini, URL fungsi dibuat dan digunakan untuk memanggil fungsi lambda.

Aktifkan Fungsi Lambda Menggunakan Layanan AWS

Banyak layanan AWS dapat dikonfigurasi sebagai pemicu untuk menjalankan fungsi lambda. Anda hanya perlu mengonfigurasi layanan AWS sebagai pemicu untuk menjalankan fungsi lambda. Di sini, kami membahas semua layanan ini dengan penjelasan tentang cara menggunakannya sebagai pemicu lambda Anda.

Gerbang API

Ini adalah layanan AWS yang digunakan secara luas untuk membuat dan mengelola API dalam model aplikasi Anda. API memberikan cara yang sangat fleksibel untuk menghasilkan permintaan atau panggilan dari satu paket perangkat lunak ke paket lain yang tidak dapat kami paparkan secara langsung dan hanya ingin disimpan di belakang layar.

Untuk menambahkan layanan apa pun sebagai pemicu ke fungsi lambda Anda, cukup buka fungsi lambda dan klik tambahkan pemicu.

Selanjutnya, Anda dapat memilih layanan yang ingin Anda lampirkan sebagai pemicu fungsi lambda Anda. Untuk bagian ini, kami memilih gateway API sebagai pemicu untuk fungsi lambda.

Selanjutnya, konfigurasikan layanan seperti yang Anda inginkan dalam struktur aplikasi Anda.

Ada dua jenis API yang didukung oleh gateway API dan ini dapat digunakan untuk menjalankan fungsi lambda.

API HTTP : Mereka digunakan untuk menghasilkan titik akhir HTTP yang dirutekan ke fungsi lambda Anda. HTTP API memberikan lebih sedikit fungsionalitas dan lebih murah untuk digunakan.

API REST : Jika Anda menginginkan lebih banyak fitur di API Anda, Anda harus menggunakan REST API. API ini dapat menjalankan fungsi lambda dan menggunakan metode HTTP yang sama, memberikan lebih banyak fleksibilitas dan kemandirian.

Ember S3

Ada banyak kasus penggunaan di mana Anda akan melihat bahwa bucket S3 bertindak sebagai pemicu untuk menjalankan fungsi lambda. Anda dapat mengonfigurasi bucket S3 untuk memicu fungsi lambda untuk peristiwa S3 tertentu.

Misalnya, Anda ingin mengumpulkan metadata dari file apa pun saat diunggah ke keranjang Anda. Untuk ini, Anda mengembangkan kode dan menerapkannya pada fungsi lambda. Untuk pemicu Lambda, pilih bucket S3. Untuk jenis acara, pilih menempatkan objek . Sehingga, setiap kali file baru ditambahkan ke bucket, fungsi lambda dipicu dan metadata objek dikumpulkan dan disimpan di lokasi tujuan saat Anda tentukan.

Ada banyak skenario lain di mana S3 dapat digunakan sebagai pemicu untuk menjalankan fungsi lambda.

Penyeimbang Beban

Misalkan aplikasi Anda dirancang untuk berjalan pada fungsi lambda karena fungsi lambda adalah solusi paling hemat biaya untuk aplikasi berbasis cloud sederhana. Sekarang, untuk mengekspos aplikasi Anda ke pengguna akhir, Anda mungkin ingin memasang penyeimbang beban di depannya. Untuk bagian ini, pilih penyeimbang beban yang bertindak sebagai pemicu untuk menjalankan fungsi lambda. Ingatlah bahwa Anda hanya dapat mengatur penyeimbang beban aplikasi untuk tugas ini karena penyeimbang beban lainnya tidak didukung oleh fungsi lambda.

Untuk menambahkan penyeimbang beban aplikasi ke fungsi lambda, Anda harus terlebih dahulu membuat grup target dan fungsi lambda ditambahkan ke grup target tersebut. Sekarang, grup target yang baru dibuat dapat ditambahkan ke listener penyeimbang beban aplikasi.

CloudFront

Amazon CloudFront sebenarnya adalah CDN (Content Delivery Network) dan digunakan untuk menyimpan data aplikasi di lokasi edge yang jauh lebih dekat ke pengguna akhir dibandingkan dengan server aplikasi sebenarnya. Menggunakan CloudFront, Anda benar-benar dapat meningkatkan waktu respons untuk menyajikan konten statis kepada pengguna akhir di seluruh dunia.

Fungsi lambda dapat dipicu menggunakan layanan CloudFront. Untuk ini, Anda perlu menerapkan fungsi lambda Anda di lokasi edge di seluruh dunia yang dikenal sebagai [dilindungi email]

Anda dapat mengatur CloudFront sebagai pemicu untuk mengirim permintaan ke [dilindungi email] melalui CloudFront untuk meningkatkan waktu respons. sebagai [dilindungi email] dikerahkan di semua lokasi tepi di seluruh dunia, pengguna akhir menghadapi waktu respons minimum dengan mengakses lokasi tepi terdekat lambda yang dikerahkan.

Untuk mengonfigurasi ini, cukup buka tambahkan pemicu dan pilih layanan CloudFront. Di sana, Anda akan melihat menyebarkan ke [dilindungi email] pilihan.

Sekarang, Anda hanya perlu menyelesaikan langkah-langkah konfigurasi dan memulainya.

Log CloudWatch

Kapan pun Anda memikirkan tentang pemantauan di awan AWS, hal pertama yang terlintas dalam pikiran adalah CLoudWatch karena ini adalah layanan pemantauan yang sangat luas yang dapat dikonfigurasi untuk berbagai layanan dengan cara yang sangat membantu.

Log CloudWatch, seperti namanya, adalah layanan pencatatan yang dapat digunakan untuk menyimpan semua jenis log. Anda dapat membuat grup log yang berbeda untuk layanan yang berbeda agar log tetap terpisah. Log ini dapat digunakan untuk memicu fungsi lambda Anda berdasarkan peristiwa yang mereka terima, terlepas dari layanan atau prosedur yang menghasilkan peristiwa ini.

Anda dapat mengonfigurasi pemicu dari konsol fungsi lambda atau langsung dari log CloudWatch. Untuk melakukan ini dari konsol CloudWatch, cukup buka layanan CloudWatch dan buka grup log. Di sini, Anda harus membuat filter berlangganan lambda.

Selanjutnya, pilih fungsi lambda yang Anda inginkan dan Anda siap melakukannya.

Sekarang, setiap kali CloudWatch mendapatkan aliran log itu, ia bertindak sebagai pemicu untuk menjalankan fungsi lambda.

Jembatan Acara

Amazon EventBridge (sebelumnya dikenal sebagai CloudWatch Events) adalah layanan AWS yang memungkinkan Anda membuat aturan peristiwa untuk memicu layanan AWS tertentu pada peristiwa tertentu yang terjadi di akun AWS.

Ada berbagai macam aturan yang dapat Anda tetapkan untuk layanan AWS (seperti pembuatan instans EC2 atau kejadian database RDS) serta layanan pihak ketiga (seperti acara push GitHub). Aturan-aturan ini selanjutnya dapat dihubungkan dengan layanan lain seperti fungsi lambda sedemikian rupa sehingga setiap kali aturan ini dipenuhi, ia memanggil fungsi lambda.

Jika Anda sudah memiliki aturan EventBridge, Anda dapat dengan mudah menambahkan aturan ini sebagai pemicu ke fungsi lambda Anda. Pilih EventBridge sebagai pemicu Anda dan cukup berikan nama aturannya.

Aturan yang ada ditambahkan di sini sebagai pemicu, tetapi Anda juga dapat membuat aturan pada saat ini.

dinamo DB

Anda mungkin telah mengetahui bahwa DynamoDB hanyalah database NoSQL dan muncul sebagai layanan yang sepenuhnya terpisah di AWS. Ini adalah database tanpa server yang sepenuhnya dikonfigurasi dan Anda dapat langsung mulai membuat tabel di dalamnya. Tabel DynamoDB ini dapat dikonfigurasi untuk bertindak sebagai pemicu untuk menjalankan fungsi lambda.

Data dari DynamoDB dapat dimuat ke lambda sebagai input dalam bentuk batch dan diproses menggunakan kode yang diterapkan di lambda.

Kinesis

Jika Anda ingin mengumpulkan dan menganalisis data real-time dengan kecepatan tinggi, Anda dapat memanfaatkan AWS Kinesis. Misalkan Anda ingin memproses data yang dikumpulkan oleh aliran data Kinesis menggunakan fungsi lambda. Anda hanya perlu memicu fungsi lambda Anda setiap kali data direkam oleh Kinesis.

Anda baru saja selesai mengonfigurasi aliran data Kinesis Anda untuk menjalankan fungsi lambda.

SNS

Ini hanyalah layanan notifikasi yang biasa digunakan untuk mengirim notifikasi dari satu layanan AWS ke layanan AWS lainnya karena terkadang tidak ada cara untuk mengonfigurasi notifikasi secara langsung dari satu layanan ke layanan lainnya. Fungsi lambda dapat dipicu menggunakan layanan ini.

Buat topik SNS terlebih dahulu, lalu gunakan untuk menjalankan fungsi lambda Anda.

Anda harus memilih nama topik SNS Anda. Tidak ada konfigurasi atau pengaturan lain.

Kesimpulan

Amazon Lambda benar-benar terobosan dalam arsitektur cloud. Pengembangan dan penerapan aplikasi tidak pernah semudah dan semudah ini sebelumnya. Ini memungkinkan Anda untuk membuat kode Anda dalam kerangka kerja umum apa pun dan mengunggah kode Anda ke lambda dan itu akan dieksekusi. Ada daftar panjang layanan lain yang dapat digabungkan dengan lambda AWS dan bertindak sebagai pemicu untuk menjalankan fungsi lambda Anda hanya jika diperlukan. Tidak ada biaya menjalankan server yang berkelanjutan, tetapi Anda akan dikenakan biaya tergantung pada jumlah pemicu dan waktu eksekusi kode.