لیمبڈا فنکشن کو شروع کرنے کے لیے دستیاب محرکات کا تعارف

Lymb A Fnkshn Kw Shrw Krn K Ly Dstyab Mhrkat Ka T Arf



AWS Lambda ایک حیرت انگیز کلاؤڈ بیسڈ سروس ہے جس نے سرور کے بغیر دنیا میں انقلاب برپا کردیا۔ یہ دراصل ایک سافٹ ویئر بطور سروس (SaaS) ہے جو آسانی سے اور تیزی سے ترتیب دیا جا سکتا ہے اور آپ کے کلاؤڈ انفراسٹرکچر کے مجموعی بجٹ کو کم کرنے میں مددگار ہے۔ آپ کو صرف اپنے کوڈ کو ڈیزائن کرنا ہے اور اسے لیمبڈا فنکشن کا استعمال کرتے ہوئے چلانا ہے۔

اب، یہاں نقطہ یہ ہے کہ آپ کو فنکشن میں اپنے کوڈ کو کیسے عمل میں لانا ہے اور اس کا جواب یہ ہے کہ طریقوں کی ایک لمبی فہرست ہے جس کے ذریعے آپ اپنے لیمبڈا فنکشنز کو شروع یا متحرک کرسکتے ہیں۔ اس میں بہت سی دوسری AWS خدمات شامل ہیں جنہیں ضرورت پڑنے پر مطلوبہ فنکشن کو کال کرنے کے لیے استعمال کیا جا سکتا ہے۔

اس مضمون میں، آپ ان خدمات اور تکنیکوں کے بارے میں ایک مختصر وضاحت دیکھنے جا رہے ہیں جن کا اطلاق ایمیزون میں آپ کے لیمبڈا فنکشنز کو شروع کرنے کے لیے کیا جا سکتا ہے۔







دعاؤں کی اقسام

اس سے پہلے کہ ہم مزید آگے بڑھیں، آئیے ہم درج ذیل دو بڑی اقسام کی دعوتوں پر بات کریں جنہیں لیمبڈا فنکشن سنبھال سکتا ہے۔



  • ہم وقت ساز دعائیں
  • غیر مطابقت پذیر دعوتیں
  1. ہم وقت ساز دعائیں
    ہم وقت سازی کی درخواستوں میں، جو خدمت لیمبڈا کو طلب کرتی ہے اسے اس وقت تک انتظار کرنا پڑتا ہے جب تک کہ نتائج اس پر واپس نہ آجائے اور پھر بقیہ عمل کو جاری رکھیں۔ ہم یہ بھی کہہ سکتے ہیں کہ لیمبڈا فنکشن کا آؤٹ پٹ خود اس فنکشن یا سروس کو درکار ہے جس نے اس لیمبڈا کو پکارا ہے۔
  2. غیر مطابقت پذیر دعوتیں

    یہاں، لیمبڈا فنکشنز کا انتظار نہیں ہوتا ہے کہ وہ نتائج واپس طلب کرنے والے کو فراہم کرے۔ یہ بنیادی طور پر اطلاعات کے لیے یا AWS میں کچھ دیگر آزاد واقعات کو متحرک کرنے کے لیے استعمال ہوتا ہے۔ وہ خدمت جو لیمبڈا فنکشن کو شروع کرنا چاہتی ہے وہ صرف ٹرگر بھیجتی ہے اور وہ آپریشن لیمبڈا میں قطار میں ہوتا ہے اور اسے اپنی باری پر عمل میں لایا جائے گا۔



لیمبڈا کو پکارنے کے مختلف طریقے

یہاں، آپ لیمبڈا فنکشنز کو شروع کرنے کے متعدد طریقے دیکھنے جا رہے ہیں۔ اگلی بار جب آپ اپنا سادہ لیکن سستا AWS انفراسٹرکچر ڈیزائن کریں گے تو یہ جاننا آپ کے لیے بہت مددگار ہے۔





براہ راست لیمبڈا فنکشنز کو طلب کریں۔

زیادہ تر معاملات میں، لیمبڈا فنکشنز کو دیگر سروسز کا استعمال کرتے ہوئے متحرک کرنے کے لیے ڈیزائن کیا گیا ہے، لیکن آپ انہیں براہ راست AWS مینجمنٹ کنسول، AWS CLI اور فنکشن URL کے ذریعے استعمال کر سکتے ہیں۔

مینجمنٹ کنسول سے لیمبڈا کو طلب کرنا

جب آپ اپنے AWS کنسول میں کوئی بھی لیمبڈا فنکشن بناتے ہیں، تو آپ کنسول میں ٹیسٹ رن آپشن کا استعمال کرکے اسے آسانی سے ٹرگر کر سکتے ہیں۔ دی پرکھ بٹن لیمبڈا فنکشن کے کوڈ سیکشن کے تحت دستیاب ہے۔



آپ اپنی مرضی کے مطابق ایونٹ بنانے کے ساتھ ساتھ اپنے حسب ضرورت ایونٹ پیٹرن کے ساتھ کنسول استعمال کر سکتے ہیں۔

اس طرح، لیمبڈا فنکشن کو AWS کنسول سے متحرک کیا جا سکتا ہے۔

AWS CLI

AWS آپ کو AWS کمانڈ لائن انٹرفیس کا استعمال کرتے ہوئے اپنے تمام وسائل استعمال کرنے کی صلاحیت فراہم کرتا ہے۔ کسی بھی لیمبڈا فنکشن کو بھی اس CLI کے ساتھ پکارا جا سکتا ہے۔ ترقی کے مراحل کے دوران چیزوں کو جانچنے کے لیے یہ بہت مؤثر ثابت ہو سکتا ہے۔ AWS CLI کمانڈ کے بعد لیمبڈا فنکشن کو شروع کرنے کے لیے ایک محرک کے طور پر استعمال کیا جا سکتا ہے۔

[ای میل محفوظ] :~$ aws lambda invoke \
--function-name < لیمبڈا فنکشن کا نام درج کریں۔ > \
--پے لوڈ < ان پٹ ویلیو کے لیے لیمبڈا فنکشن > \
--cli-binary-format < base64 | raw-in-base64-out > < آؤٹ پٹ فائل کا نام >

فنکشن کامیابی سے ٹرگر ہو گیا ہے اور آپ اسے آؤٹ پٹ میں بھی دیکھ سکتے ہیں۔

فنکشن URL

فنکشن یو آر ایل دراصل ایک HTTP اینڈ پوائنٹ ہے جسے آپ اپنے لیمبڈا فنکشنز کے لیے کنفیگر کر سکتے ہیں۔ اس یو آر ایل کو لیمبڈا فنکشنز کو متحرک کرنے کے لیے استعمال کیا جا سکتا ہے اور آپ اس یو آر ایل کو دوسرے صارفین کے ساتھ بھی شیئر کر سکتے ہیں یہاں تک کہ اپنے AWS اکاؤنٹ سے باہر لیمبڈا فنکشنز کو شروع کرنے کے لیے۔ اگرچہ آپ کو فنکشن یو آر ایل کے ساتھ محتاط رہنا چاہیے، لیکن اس لنک کے ساتھ کوئی بھی شخص آپ کے لیمبڈا فنکشن کو لاتعداد بار متحرک کر سکتا ہے، اور تمام اخراجات آپ کے سر ہوں گے۔

فنکشن یو آر ایل کو تخلیق کرتے وقت اور لیمبڈا فنکشن بنانے کے بعد کنفیگر کیا جا سکتا ہے۔ اس کے لیے، بس کنفیگریشن سیکشن میں ایڈوانس سیٹنگز پر جائیں اور چیک کریں۔ فنکشن URL کو فعال کریں۔ ڈبہ.

اگر آپ نے لیمبڈا فنکشن بناتے وقت فنکشن کا URL منسلک نہیں کیا ہے، تو آپ اسے بعد میں کر سکتے ہیں۔ اس کے لیے، آپ کو کنفیگریشن ٹیب پر جانا ہوگا، فنکشن یو آر ایل کو منتخب کریں، اور پر کلک کریں۔ فنکشن یو آر ایل بنائیں .

اس طرح، فنکشن یو آر ایل بنایا جاتا ہے اور لیمبڈا فنکشن کو شروع کرنے کے لیے استعمال کیا جاتا ہے۔

AWS سروسز کا استعمال کرتے ہوئے Lambda فنکشنز کو طلب کریں۔

لیمبڈا فنکشن کو شروع کرنے کے لیے بہت ساری AWS سروسز کو ٹرگر کے طور پر کنفیگر کیا جا سکتا ہے۔ آپ کو لیمبڈا فنکشن کو شروع کرنے کے لیے صرف AWS سروسز کو ٹرگر کے طور پر کنفیگر کرنے کی ضرورت ہے۔ یہاں، ہم ان تمام سروسز کو آپ کے لیمبڈا ٹرگرز کے طور پر استعمال کرنے کے بارے میں وضاحت کے ساتھ دیکھتے ہیں۔

API گیٹ وے

یہ ایک AWS سروس ہے جسے آپ کے ایپلیکیشن ماڈل میں APIs بنانے اور ان کا نظم کرنے کے لیے بڑے پیمانے پر استعمال کیا جاتا ہے۔ APIs ایک سافٹ ویئر پیکج سے دوسرے پیکج پر درخواستیں یا کالیں پیدا کرنے کا ایک بہت لچکدار طریقہ دیتے ہیں جسے ہم براہ راست بے نقاب نہیں کر سکتے اور صرف پردے کے پیچھے رکھنا چاہتے ہیں۔

اپنے لیمبڈا فنکشن میں کسی بھی سروس کو بطور ٹرگر شامل کرنے کے لیے، صرف لیمبڈا فنکشن پر جائیں اور ایڈ ٹرگر پر کلک کریں۔

اگلا، آپ اس سروس کو منتخب کر سکتے ہیں جسے آپ اپنے لیمبڈا فنکشن میں بطور محرک منسلک کرنا چاہتے ہیں۔ اس سیکشن کے لیے، ہم API گیٹ وے کو لیمبڈا فنکشن کے لیے بطور محرک منتخب کرتے ہیں۔

اگلا، سروس کو ترتیب دیں جیسا کہ آپ چاہتے ہیں کہ یہ آپ کے ایپلیکیشن ڈھانچے میں کام کرے۔

API گیٹ وے کے ذریعہ تعاون یافتہ APIs کی دو قسمیں ہیں اور ان کا استعمال لیمبڈا فنکشن کو شروع کرنے کے لئے کیا جاسکتا ہے۔

HTTP APIs : وہ HTTP اینڈ پوائنٹس بنانے کے لیے استعمال ہوتے ہیں جو آپ کے لیمبڈا فنکشنز کے لیے روانہ ہوتے ہیں۔ HTTP API کم فعالیت دیتے ہیں اور استعمال کرنے میں کم مہنگے ہوتے ہیں۔

REST APIs : اگر آپ اپنے API میں مزید خصوصیات چاہتے ہیں، تو آپ کو REST API کے لیے جانا چاہیے۔ یہ APIs لیمبڈا فنکشن کو شروع کر سکتے ہیں اور وہی HTTP طریقے استعمال کر سکتے ہیں، جو زیادہ لچک اور آزادی فراہم کرتے ہیں۔

S3 بالٹی

استعمال کے بہت سے معاملات ہیں جہاں آپ دیکھیں گے کہ S3 بالٹیاں لیمبڈا فنکشن کو شروع کرنے کے لیے ایک محرک کے طور پر کام کر رہی ہیں۔ آپ مخصوص S3 ایونٹ کے لیے لیمبڈا فنکشن کو متحرک کرنے کے لیے S3 بالٹی کو ترتیب دے سکتے ہیں۔

مثال کے طور پر، آپ کسی بھی فائل کا میٹا ڈیٹا جمع کرنا چاہتے ہیں جب اسے آپ کی بالٹی میں اپ لوڈ کیا جاتا ہے۔ اس کے لیے، آپ ایک کوڈ تیار کرتے ہیں اور اسے لیمبڈا فنکشن پر تعینات کرتے ہیں۔ لیمبڈا ٹرگر کے لیے، S3 بالٹی کو منتخب کریں۔ ایونٹ کی قسم کے لیے، منتخب کریں۔ اعتراض ڈالو . تاکہ، جب بھی کوئی نئی فائل بالٹی میں شامل کی جاتی ہے، لیمبڈا فنکشن کو متحرک کیا جاتا ہے اور جب آپ وضاحت کرتے ہیں تو آبجیکٹ کا میٹا ڈیٹا جمع اور منزل کے مقام پر محفوظ کیا جاتا ہے۔

بہت سے دوسرے منظرنامے ہو سکتے ہیں جہاں S3 کو لیمبڈا فنکشن کو شروع کرنے کے لیے بطور محرک استعمال کیا جا سکتا ہے۔

لوڈ بیلنسر

فرض کریں کہ آپ کی ایپلیکیشن لیمبڈا فنکشنز پر چلانے کے لیے ڈیزائن کی گئی ہے کیونکہ لیمبڈا فنکشن ایک سادہ کلاؤڈ بیسڈ ایپلیکیشن کے لیے سب سے زیادہ لاگت والا حل ہے۔ اب، اپنی ایپلیکیشن کو آخری صارفین کے سامنے لانے کے لیے، آپ شاید اس کے سامنے ایک لوڈ بیلنسر منسلک کرنا چاہیں گے۔ اس حصے کے لیے، لوڈ بیلنسر کو منتخب کریں جو لیمبڈا فنکشن کو شروع کرنے کے لیے محرک کے طور پر کام کرتا ہے۔ یاد رکھیں کہ آپ اس کام کے لیے صرف ایپلیکیشن لوڈ بیلنسر سیٹ کر سکتے ہیں کیونکہ دیگر لوڈ بیلنسرز لیمبڈا فنکشنز کے ذریعے تعاون یافتہ نہیں ہیں۔

ایپلیکیشن لوڈ بیلنسر کو لیمبڈا فنکشن میں شامل کرنے کے لیے، آپ کو پہلے ایک ٹارگٹ گروپ بنانا ہوگا اور لیمبڈا فنکشن کو اس ٹارگٹ گروپ میں شامل کیا جائے گا۔ اب، نئے بنائے گئے ٹارگٹ گروپ کو ایپلی کیشن لوڈ بیلنسر کے سننے والوں میں شامل کیا جا سکتا ہے۔

کلاؤڈ فرنٹ

Amazon CloudFront دراصل ایک CDN (Content Delivery Network) ہے اور اس کا استعمال ایپلیکیشن ڈیٹا کو کنارے والے مقامات پر کیش کرنے کے لیے کیا جاتا ہے جو اصل ایپلیکیشن سرورز کے مقابلے میں آخری صارفین کے بہت قریب ہوتے ہیں۔ CloudFront کا استعمال کرتے ہوئے، آپ پوری دنیا کے آخری صارفین کو جامد مواد کی خدمت کے لیے جوابی وقت کو واقعی بہتر بنا سکتے ہیں۔

لیمبڈا فنکشنز کو CloudFront سروس کا استعمال کرتے ہوئے متحرک کیا جا سکتا ہے۔ اس کے لیے، آپ کو اپنے لیمبڈا فنکشن کو پوری دنیا کے کنارے والے مقامات پر تعینات کرنے کی ضرورت ہے جس کے نام سے جانا جاتا ہے۔ [ای میل محفوظ]

آپ کو درخواستیں بھیجنے کے لیے CloudFront کو ٹرگر کے طور پر سیٹ کر سکتے ہیں۔ [ای میل محفوظ] جوابی وقت کو بہتر بنانے کے لیے CloudFront کے ذریعے۔ کے طور پر [ای میل محفوظ] دنیا بھر میں تمام کنارے والے مقامات پر تعینات کیا جاتا ہے، آخری صارفین کو قریب ترین کنارے کے مقام پر تعینات لیمبڈا تک رسائی حاصل کرکے کم سے کم ردعمل کا سامنا کرنا پڑتا ہے۔

اسے ترتیب دینے کے لیے، بس پر جائیں۔ ٹرگر شامل کریں اور CloudFront سروس کا انتخاب کریں۔ وہاں، آپ دیکھیں گے پر تعینات کریں [ای میل محفوظ] اختیار

اب، آپ کو صرف ترتیب کے مراحل کو مکمل کرنے اور اسے شروع کرنے کی ضرورت ہے۔

CloudWatch لاگز

جب بھی آپ AWS کلاؤڈ میں نگرانی کے بارے میں سوچتے ہیں، سب سے پہلے جو چیز ذہن میں آتی ہے وہ ہے CloudWatch کیونکہ یہ ایک بہت وسیع مانیٹرنگ سروس ہے جسے مختلف سروسز کے لیے بہت مددگار طریقے سے ترتیب دیا جا سکتا ہے۔

CloudWatch لاگز، جیسا کہ نام کی وضاحت ہے، ایک لاگنگ سروس ہے جسے ہر قسم کے لاگز کو ذخیرہ کرنے کے لیے استعمال کیا جا سکتا ہے۔ لاگز کو الگ رکھنے کے لیے آپ مختلف سروسز کے لیے مختلف لاگ گروپ بنا سکتے ہیں۔ ان لاگز کو آپ کے لیمبڈا فنکشن کو ان واقعات کی بنیاد پر متحرک کرنے کے لیے استعمال کیا جا سکتا ہے جو وہ موصول ہو رہے ہیں، قطع نظر اس خدمت یا طریقہ کار سے جو ان واقعات کو پیش کرتا ہے۔

آپ یا تو ٹرگر کو لیمبڈا فنکشن کنسول سے کنفیگر کر سکتے ہیں یا براہ راست CloudWatch لاگز سے۔ CloudWatch کنسول سے ایسا کرنے کے لیے، بس CloudWatch سروس پر جائیں اور لاگ گروپس کو کھولیں۔ یہاں، آپ کو لیمبڈا سبسکرپشن فلٹر بنانا ہوگا۔

اگلا، لیمبڈا فنکشن کا انتخاب کریں جو آپ چاہتے ہیں اور آپ جانا چاہتے ہیں۔

اب، جب بھی CloudWatch کو وہ لاگ اسٹریم ملتا ہے، تو یہ لیمبڈا فنکشن کو شروع کرنے کے لیے ایک محرک کے طور پر کام کرتا ہے۔

ایونٹ برج

Amazon EventBridge (پہلے کلاؤڈ واچ ایونٹس کے نام سے جانا جاتا تھا) ایک AWS سروس ہے جو آپ کو AWS اکاؤنٹ میں ہونے والے مخصوص ایونٹ پر ایک مخصوص AWS سروس کو متحرک کرنے کے لیے ایونٹ کے قواعد بنانے کی اجازت دیتی ہے۔

بہت سارے قوانین ہیں جو آپ AWS سروسز (جیسے EC2 مثال کی تخلیق یا RDS ڈیٹا بیس ایونٹس) کے ساتھ ساتھ فریق ثالث کی خدمات (جیسے GitHub پش ایونٹ) کے لیے ترتیب دے سکتے ہیں۔ ان قواعد کو دیگر خدمات جیسے لیمبڈا فنکشنز کے ساتھ اس طرح جوڑا جا سکتا ہے کہ جب بھی یہ اصول مطمئن ہو، یہ لیمبڈا فنکشن کو شروع کرے۔

اگر آپ کے پاس EventBridge کا اصول پہلے سے سیٹ ہے، تو آپ آسانی سے اس اصول کو اپنے لیمبڈا فنکشن میں محرک کے طور پر شامل کر سکتے ہیں۔ ایونٹ برج کو اپنے محرک کے طور پر منتخب کریں اور صرف اصول کا نام فراہم کریں۔

ایک موجودہ اصول یہاں بطور محرک شامل کیا گیا ہے، لیکن آپ اس مقام پر ایک اصول بھی بنا سکتے ہیں۔

ڈائنامو ڈی بی

آپ کو معلوم ہوگا کہ DynamoDB صرف ایک NoSQL ڈیٹا بیس ہے اور یہ AWS میں مکمل طور پر الگ سروس کے طور پر ظاہر ہوتا ہے۔ یہ مکمل طور پر ترتیب شدہ سرور لیس ڈیٹا بیس ہے اور آپ اس میں ٹیبل بنانا براہ راست شروع کر سکتے ہیں۔ ان DynamoDB ٹیبلز کو لیمبڈا فنکشنز کو شروع کرنے کے لیے محرکات کے طور پر کام کرنے کے لیے ترتیب دیا جا سکتا ہے۔

DynamoDB سے ڈیٹا کو بیچ کی شکل میں ان پٹ کے طور پر لیمبڈا پر لوڈ کیا جا سکتا ہے اور اس کوڈ کو استعمال کرتے ہوئے پروسیس کیا جاتا ہے جو لیمبڈا میں تعینات ہے۔

Kinesis

اگر آپ ریئل ٹائم ڈیٹا کو زیادہ شرح پر اکٹھا اور تجزیہ کرنا چاہتے ہیں تو آپ AWS Kinesis سے فائدہ اٹھا سکتے ہیں۔ فرض کریں کہ آپ لیمبڈا فنکشنز کا استعمال کرتے ہوئے Kinesis ڈیٹا اسٹریمز کے ذریعے جمع کردہ ڈیٹا پر کارروائی کرنا چاہتے ہیں۔ ہر بار جب کائینس کے ذریعہ ڈیٹا ریکارڈ کیا جاتا ہے تو آپ کو اپنے لیمبڈا فنکشن کو ٹرگر کرنے کی ضرورت ہوتی ہے۔

آپ نے لیمبڈا فنکشن کو شروع کرنے کے لیے اپنے Kinesis ڈیٹا سٹریم کو کنفیگر کر لیا ہے۔

ایس این ایس

یہ محض ایک نوٹیفکیشن سروس ہے جو عام طور پر ایک AWS سروس سے دوسری کو اطلاعات بھیجنے کے لیے استعمال ہوتی ہے کیونکہ بعض اوقات ایک سروس سے دوسری سروس کو براہ راست اطلاعات کو ترتیب دینے کا کوئی طریقہ نہیں ہوتا ہے۔ اس سروس کا استعمال کرتے ہوئے لیمبڈا فنکشنز کو متحرک کیا جا سکتا ہے۔

پہلے ایک SNS موضوع بنائیں، پھر اسے اپنے لیمبڈا فنکشن کو شروع کرنے کے لیے استعمال کریں۔

آپ کو اپنے SNS موضوع کا نام منتخب کرنا ہوگا۔ کوئی دوسری ترتیب یا ترتیبات نہیں ہیں۔

نتیجہ

ایمیزون لیمبڈا واقعی کلاؤڈ فن تعمیر میں ایک پیش رفت ہے۔ ایپلیکیشن کی ترقی اور تعیناتی اس سے پہلے کبھی بھی اتنی آسان اور سیدھی نہیں تھی۔ یہ آپ کو کسی بھی عام فریم ورک میں اپنا کوڈ بنانے اور اپنے کوڈ کو لیمبڈا پر اپ لوڈ کرنے کی اجازت دیتا ہے اور اس پر عمل درآمد ہو جاتا ہے۔ دیگر خدمات کی ایک طویل فہرست ہے جو AWS lambda کے ساتھ مل سکتی ہیں اور آپ کے لیمبڈا فنکشن کو صرف اس وقت شروع کرنے کے لیے ایک محرک کے طور پر کام کرتی ہیں جب اس کی ضرورت ہو۔ سرور کی کوئی مسلسل لاگت نہیں ہے، لیکن آپ کو محرکات کی تعداد اور کوڈ پر عمل درآمد کے وقت کے لحاظ سے چارج کیا جائے گا۔