Pengenalan kepada Pencetus Tersedia untuk Menjalankan Fungsi Lambda

Pengenalan Kepada Pencetus Tersedia Untuk Menjalankan Fungsi Lambda



AWS Lambda ialah perkhidmatan berasaskan awan yang menakjubkan yang merevolusikan dunia tanpa pelayan. Ia sebenarnya adalah perisian sebagai perkhidmatan (SaaS) yang boleh disediakan dengan mudah dan cepat serta membantu mengurangkan belanjawan keseluruhan infrastruktur awan anda. Apa yang anda perlu lakukan ialah reka bentuk kod anda dan jalankannya menggunakan fungsi lambda.

Sekarang, perkara di sini ialah bagaimana anda sepatutnya melaksanakan kod anda dalam fungsi dan jawapan untuk ini ialah terdapat senarai panjang kaedah yang anda boleh gunakan atau mencetuskan fungsi lambda anda. Ini termasuk banyak perkhidmatan AWS lain yang boleh digunakan untuk memanggil fungsi yang dikehendaki apabila diperlukan.

Dalam artikel ini, anda akan melihat penjelasan ringkas mengenai perkhidmatan dan teknik yang boleh digunakan untuk menggunakan fungsi lambda anda di Amazon.







Jenis-jenis Doa

Sebelum kita pergi lebih jauh, mari kita bincangkan dua jenis seruan utama berikut yang boleh dikendalikan oleh fungsi lambda.



  • Doa Segerak
  • Invocation Asynchronous
  1. Doa Segerak
    Dalam seruan segerak, perkhidmatan yang menggunakan lambda perlu menunggu sehingga keputusan dikembalikan kepadanya dan kemudian meneruskan proses yang lain. Kita juga boleh mengatakan bahawa output fungsi lambda diperlukan oleh fungsi atau perkhidmatan itu sendiri yang menggunakan lambda ini.
  2. Invocation Asynchronous

    Di sini, tidak perlu menunggu untuk fungsi lambda memberikan hasil kembali kepada penyeru. Ini digunakan terutamanya untuk pemberitahuan atau untuk mencetuskan beberapa acara bebas lain dalam AWS. Perkhidmatan yang ingin menggunakan fungsi lambda hanya menghantar pencetus dan operasi itu dibariskan dalam lambda dan akan dilaksanakan pada gilirannya.



Cara Berbeza untuk Mendapat Lambda

Di sini, anda akan melihat pelbagai cara untuk menggunakan fungsi lambda. Mengetahui perkara ini sangat membantu anda apabila anda mereka bentuk infrastruktur AWS anda yang ringkas tetapi menjimatkan kos.





Guna Fungsi Lambda secara terus

Dalam kebanyakan kes, fungsi lambda direka bentuk untuk dicetuskan menggunakan perkhidmatan lain, tetapi anda boleh memanggilnya secara langsung menggunakan konsol pengurusan AWS, AWS CLI dan melalui URL fungsi.

Menggunakan Lambda daripada Konsol Pengurusan

Apabila anda mencipta sebarang fungsi lambda dalam konsol AWS anda, anda boleh mencetuskannya dengan mudah menggunakan pilihan ujian dalam konsol. The Ujian butang tersedia di bawah bahagian kod fungsi lambda.



Anda boleh membuat acara tersuai serta menggunakan konsol dengan corak acara tersuai anda.

Dengan cara ini, fungsi lambda boleh dicetuskan daripada konsol AWS.

AWS CLI

AWS memberi anda keupayaan untuk menggunakan semua sumbernya menggunakan antara muka baris arahan AWS. Sebarang fungsi lambda juga boleh digunakan dengan CLI ini. Ini boleh menjadi sangat berkesan untuk menguji sesuatu semasa peringkat pembangunan. Mengikuti arahan AWS CLI boleh digunakan sebagai pencetus untuk menggunakan fungsi lambda.

[e-mel dilindungi] :~$ aws lambda invoke \
--nama-fungsi < Masukkan Nama Fungsi Lambda > \
--muatan < Nilai input untuk Fungsi Lambda > \
--cli-binary-format < asas64 | mentah-dalam-dasar64-keluar > < Nama Fail Output >

Fungsi ini berjaya dicetuskan dan anda juga boleh melihat ini dalam output.

URL fungsi

URL Fungsi sebenarnya ialah titik akhir HTTP yang boleh anda konfigurasikan untuk fungsi lambda anda. URL ini boleh digunakan untuk mencetuskan fungsi lambda dan anda juga boleh berkongsi URL ini dengan pengguna lain walaupun di luar akaun AWS anda untuk menggunakan fungsi lambda. Walaupun anda harus berhati-hati dengan URL fungsi, sesiapa sahaja yang mempunyai pautan ini boleh mencetuskan fungsi lambda anda berkali-kali dan semua kos akan ditanggung oleh anda.

URL fungsi boleh dikonfigurasikan semasa membuat dan juga selepas mencipta fungsi lambda. Untuk ini, hanya pergi ke tetapan lanjutan dalam bahagian konfigurasi dan semak Dayakan URL fungsi kotak.

Sekiranya anda tidak melampirkan URL fungsi semasa mencipta fungsi lambda, anda boleh melakukannya kemudian. Untuk ini, anda perlu pergi ke tab konfigurasi, pilih URL fungsi, dan klik pada Buat URL fungsi .

Dengan cara ini, URL fungsi dicipta dan digunakan untuk menggunakan fungsi lambda.

Serlahkan Fungsi Lambda Menggunakan Perkhidmatan AWS

Banyak perkhidmatan AWS boleh dikonfigurasikan sebagai pencetus untuk menggunakan fungsi lambda. Anda hanya perlu mengkonfigurasi perkhidmatan AWS sebagai pencetus untuk menggunakan fungsi lambda. Di sini, kami meneliti semua perkhidmatan ini dengan penjelasan tentang cara menggunakannya sebagai pencetus lambda anda.

Gerbang API

Ini ialah perkhidmatan AWS yang digunakan secara meluas untuk mencipta dan mengurus API dalam model aplikasi anda. API memberikan cara yang sangat fleksibel untuk menjana permintaan atau panggilan daripada satu pakej perisian ke pakej lain yang tidak dapat kami dedahkan secara langsung dan hanya mahu disimpan di belakang tabir.

Untuk menambah sebarang perkhidmatan sebagai pencetus kepada fungsi lambda anda, hanya pergi ke fungsi lambda dan klik pada tambah pencetus.

Seterusnya, anda boleh memilih perkhidmatan yang anda ingin lampirkan sebagai pencetus kepada fungsi lambda anda. Untuk bahagian ini, kami memilih get laluan API sebagai pencetus untuk fungsi lambda.

Seterusnya, konfigurasikan perkhidmatan seperti yang anda mahu ia bertindak dalam struktur aplikasi anda.

Terdapat dua jenis API yang disokong oleh get laluan API dan ini boleh digunakan untuk menggunakan fungsi lambda.

API HTTP : Ia digunakan untuk menjana titik akhir HTTP yang dihalakan ke fungsi lambda anda. API HTTP memberikan kurang fungsi dan lebih murah untuk digunakan.

REST API : Jika anda mahukan lebih banyak ciri dalam API anda, anda mesti menggunakan API REST. API ini boleh menggunakan fungsi lambda dan menggunakan kaedah HTTP yang sama, memberikan lebih fleksibiliti dan kebebasan.

S3 Baldi

Terdapat banyak kes penggunaan di mana anda akan melihat baldi S3 bertindak sebagai pencetus untuk menggunakan fungsi lambda. Anda boleh mengkonfigurasi baldi S3 untuk mencetuskan fungsi lambda untuk acara S3 tertentu.

Sebagai contoh, anda ingin mengumpul metadata mana-mana fail apabila ia dimuat naik ke baldi anda. Untuk ini, anda membangunkan kod dan menggunakan ia pada fungsi lambda. Untuk pencetus Lambda, pilih baldi S3. Untuk jenis acara, pilih meletakkan objek . Oleh itu, apabila fail baharu ditambahkan pada baldi, fungsi lambda dicetuskan dan metadata objek dikumpul dan disimpan di lokasi destinasi apabila anda nyatakan.

Terdapat banyak senario lain di mana S3 boleh digunakan sebagai pencetus untuk menggunakan fungsi lambda.

Pengimbang Beban

Katakan aplikasi anda direka bentuk untuk dijalankan pada fungsi lambda kerana fungsi lambda ialah penyelesaian yang paling kos efektif untuk aplikasi berasaskan awan yang ringkas. Sekarang, untuk mendedahkan aplikasi anda kepada pengguna akhir, anda mungkin mahu melampirkan pengimbang beban di hadapannya. Untuk bahagian ini, pilih pengimbang beban yang bertindak sebagai pencetus untuk menggunakan fungsi lambda. Ingat bahawa anda hanya boleh menyediakan pengimbang beban aplikasi untuk tugas ini kerana pengimbang beban lain tidak disokong oleh fungsi lambda.

Untuk menambah pengimbang beban aplikasi pada fungsi lambda, anda perlu membuat kumpulan sasaran terlebih dahulu dan fungsi lambda ditambahkan pada kumpulan sasaran tersebut. Kini, kumpulan sasaran yang baru dibuat boleh ditambah kepada pendengar pengimbang beban aplikasi.

CloudFront

Amazon CloudFront sebenarnya adalah CDN (Rangkaian Penghantaran Kandungan) dan digunakan untuk cache data aplikasi di lokasi tepi yang lebih dekat dengan pengguna akhir berbanding dengan pelayan aplikasi sebenar. Menggunakan CloudFront, anda benar-benar boleh meningkatkan masa tindak balas untuk menyampaikan kandungan statik kepada pengguna akhir di seluruh dunia.

Fungsi lambda boleh dicetuskan menggunakan perkhidmatan CloudFront. Untuk ini, anda perlu menggunakan fungsi lambda anda di lokasi tepi di seluruh dunia yang dikenali sebagai [e-mel dilindungi]

Anda boleh menetapkan CloudFront sebagai pencetus untuk menghantar permintaan ke [e-mel dilindungi] melalui CloudFront untuk meningkatkan masa tindak balas. Sebagaimana yang [e-mel dilindungi] digunakan di semua lokasi tepi di seluruh dunia, pengguna akhir menghadapi masa tindak balas minimum dengan mengakses lokasi tepi terdekat yang digunakan lambda.

Untuk mengkonfigurasi ini, hanya pergi ke tambah pencetus dan pilih perkhidmatan CloudFront. Di sana, anda akan melihat gunakan untuk [e-mel dilindungi] pilihan.

Sekarang, anda hanya perlu melengkapkan langkah konfigurasi dan memulakannya.

Log CloudWatch

Setiap kali anda berfikir tentang pemantauan dalam awan AWS, perkara pertama yang terlintas di fikiran ialah CLoudWatch kerana ini adalah perkhidmatan pemantauan yang sangat luas yang boleh dikonfigurasikan untuk perkhidmatan yang berbeza dengan cara yang sangat membantu.

Log CloudWatch, seperti namanya, adalah perkhidmatan pembalakan yang boleh digunakan untuk menyimpan semua jenis log. Anda boleh membuat kumpulan log yang berbeza untuk perkhidmatan yang berbeza untuk memastikan log berasingan. Log ini boleh digunakan untuk mencetuskan fungsi lambda anda berdasarkan peristiwa yang mereka terima, tanpa mengira perkhidmatan atau prosedur yang menghasilkan acara ini.

Anda boleh sama ada mengkonfigurasi pencetus daripada konsol fungsi lambda atau terus daripada log CloudWatch. Untuk melakukan ini daripada konsol CloudWatch, hanya pergi ke perkhidmatan CloudWatch dan buka kumpulan log. Di sini, anda perlu membuat penapis langganan lambda.

Seterusnya, pilih fungsi lambda yang anda mahukan dan anda boleh menggunakannya.

Kini, apabila CloudWatch mendapat aliran log itu, ia bertindak sebagai pencetus untuk menggunakan fungsi lambda.

EventBridge

Amazon EventBridge (sebelum ini dikenali sebagai CloudWatch Events) ialah perkhidmatan AWS yang membolehkan anda membuat peraturan acara untuk mencetuskan perkhidmatan AWS tertentu pada acara tertentu yang berlaku dalam akaun AWS.

Terdapat pelbagai jenis peraturan yang boleh anda tetapkan untuk perkhidmatan AWS (seperti penciptaan contoh EC2 atau acara pangkalan data RDS) serta perkhidmatan pihak ketiga (seperti acara tolak GitHub). Peraturan ini boleh dikaitkan lagi dengan perkhidmatan lain seperti fungsi lambda dengan cara yang apabila peraturan ini dipenuhi, ia menggunakan fungsi lambda.

Jika anda mempunyai peraturan EventBridge yang telah ditetapkan, anda boleh menambahkan peraturan ini dengan mudah sebagai pencetus kepada fungsi lambda anda. Pilih EventBridge sebagai pencetus anda dan hanya berikan nama peraturan.

Peraturan sedia ada ditambahkan di sini sebagai pencetus, tetapi anda juga boleh membuat peraturan pada ketika ini.

DynamoDB

Anda mungkin tahu bahawa DynamoDB hanyalah pangkalan data NoSQL dan ia muncul sebagai perkhidmatan yang berasingan sepenuhnya dalam AWS. Ini ialah pangkalan data tanpa pelayan yang dikonfigurasikan sepenuhnya dan anda boleh terus mula membuat jadual di dalamnya. Jadual DynamoDB ini boleh dikonfigurasikan untuk bertindak sebagai pencetus untuk menggunakan fungsi lambda.

Data daripada DynamoDB boleh dimuatkan ke lambda sebagai input dalam bentuk kelompok dan ia diproses menggunakan kod yang digunakan dalam lambda.

Kinesis

Jika anda ingin mengumpul dan menganalisis data masa nyata pada kadar yang tinggi, anda boleh mendapat manfaat daripada AWS Kinesis. Katakan anda ingin memproses data yang dikumpul oleh aliran data Kinesis menggunakan fungsi lambda. Anda hanya perlu mencetuskan fungsi lambda anda setiap kali data direkodkan oleh Kinesis.

Anda baru sahaja selesai mengkonfigurasi aliran data Kinesis anda untuk menggunakan fungsi lambda.

SNS

Ia hanyalah perkhidmatan pemberitahuan yang biasa digunakan untuk menghantar pemberitahuan daripada satu perkhidmatan AWS kepada yang lain kerana kadangkala tiada cara untuk mengkonfigurasi pemberitahuan secara terus dari satu perkhidmatan ke perkhidmatan yang lain. Fungsi lambda boleh dicetuskan menggunakan perkhidmatan ini.

Buat topik SNS dahulu, kemudian gunakan topik itu untuk menggunakan fungsi lambda anda.

Anda perlu memilih nama topik SNS anda. Tiada konfigurasi atau tetapan lain.

Kesimpulan

Amazon Lambda benar-benar satu kejayaan dalam seni bina awan. Pembangunan dan penggunaan aplikasi tidak pernah semudah dan mudah sebelum ini. Ia membolehkan anda hanya mencipta kod anda dalam mana-mana rangka kerja biasa dan memuat naik kod anda ke lambda dan ia akan dilaksanakan. Terdapat senarai panjang perkhidmatan lain yang boleh digabungkan dengan AWS lambda dan bertindak sebagai pencetus untuk menggunakan fungsi lambda anda hanya apabila ia diperlukan. Tiada kos operasi berterusan pelayan, tetapi anda akan dicaj bergantung pada bilangan pencetus dan masa pelaksanaan kod.