AWS Lambda کا استعمال کرتے ہوئے Amazon API گیٹ وے کا تعارف

AWS Lambda کا استعمال کرتے ہوئے Amazon API گیٹ وے کا تعارف

ماخذ نوڈ: 1860150

تعارف

API کیا ہے؟

آسان الفاظ میں API ایک میسنجر ہے۔ آئیے اسے کچھ مثالوں سے سمجھتے ہیں۔ مان لیں کہ آپ کو بھوک لگی ہے اور آپ کو گھر میں کچھ پکانے کی ضرورت ہے۔ اگر آپ نوڈلز بنانا چاہتے ہیں، تو آپ الماری سے صرف اجزاء نکالیں، چولہا جلائیں، اور خود بنائیں۔ یہ ایک ایسا پروگرام ہے جو اپنے وسائل سے خود کچھ کر رہا ہے۔ لیکن کہتے ہیں کہ آپ پیزا چاہتے ہیں - آپ کے پاس اجزاء نہیں ہیں، اور آپ کا گھر کا تندور واقعی ایک اچھا کرسپی کرسٹ بنانے کے لیے موزوں نہیں ہے۔ تو آپ اس کے بجائے پیزا کی جگہ پر جائیں۔ لیکن گھر کے برعکس، آپ کچن میں جا کر پیزا بنانے کے لیے ان کے اجزاء کا استعمال شروع نہیں کر سکتے۔ وہ نہیں چاہتے کہ آپ کے گندے ہاتھ ان کے تمام سامان پر ہوں! تو آپ کیا کریں گے؟ آپ کو کاؤنٹر پر جا کر آرڈر کرنا ہوگا - وہاں ایک مینو ہوگا جس میں آپ کون سے پیزا آرڈر کر سکتے ہیں اور کون سے ٹاپنگز یا دیگر آپشنز آپ چن سکتے ہیں۔ یہ ایک API ہے۔

ایک ایپلیکیشن پروگرامنگ انٹرفیس (API) قواعد کا ایک مجموعہ ہے جو بتاتا ہے کہ دو سافٹ ویئر پروگراموں کو کس طرح تعامل کرنا چاہیے۔

ایک API ایک سافٹ ویئر پروگرام کو دوسرے سافٹ ویئر پروگرام کی فعالیت تک رسائی کی اجازت دیتا ہے۔ مثال کے طور پر، اگر آپ کے پاس کوئی سافٹ ویئر پروگرام ہے جس کو انٹرنیٹ سے ڈیٹا بازیافت کرنے کی ضرورت ہے، تو یہ سرور سے اس ڈیٹا کی درخواست کرنے کے لیے API کا استعمال کر سکتا ہے۔ اس کے بعد سرور درخواست کردہ ڈیٹا کے ساتھ جواب دے گا، اور سافٹ ویئر پروگرام اسے ضرورت کے مطابق استعمال کر سکتا ہے۔

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

HTTP APIs

HTTP API API کی ایک قسم ہے جو ڈیٹا بھیجنے اور وصول کرنے کے لیے HTTP پروٹوکول کا استعمال کرتی ہے۔ یہ سافٹ ویئر پروگراموں کو HTTP درخواستوں اور جوابات کا استعمال کرتے ہوئے ڈیٹا بھیجنے اور وصول کرنے کی اجازت دیتا ہے۔ یہ درخواستیں اور جوابات مختلف فارمیٹس میں ہو سکتے ہیں، جیسے کہ سادہ متن، JSON، یا XML۔ وہ عام طور پر ایپلی کیشنز کی ایک وسیع رینج میں استعمال ہوتے ہیں، بشمول ویب ایپلیکیشنز، موبائل ایپس، اور مائیکرو سروسز۔ یہ APIs REST APIs کے مقابلے نسبتاً سستے ہیں اور بعد کے مقابلے میں کم فعالیت رکھتے ہیں۔

REST APIs

REST API API کی ایک قسم ہے جو آرکیٹیکچرل اصولوں کے ایک سیٹ پر عمل کرتی ہے جسے REST (نمائندہ ریاست کی منتقلی) کہتے ہیں۔ REST سافٹ ویئر فن تعمیر کا ایک انداز ہے جو ویب APIs بنانے کے لیے رکاوٹوں کا ایک سیٹ بیان کرتا ہے۔

اسٹیٹفول APIs

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

اسٹیٹ لیس APIs

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

اسٹیٹفول اور اسٹیٹ لیس APIs کے درمیان کلیدی فرق

اسٹیٹفول اور اسٹیٹ لیس APIs کے درمیان کچھ اہم فرق ذیل میں ہیں:

STATEFUL APIs

اسٹیٹ لیس APIs

1. کلائنٹ کی درخواستوں کے بارے میں ڈیٹا ذخیرہ کرنے کے لیے ایک سرور سائیڈ سیشن کی ضرورت ہے۔ 1. کلائنٹ کی درخواستوں کے بارے میں ڈیٹا ذخیرہ کرنے کے لیے سرور سائیڈ سیشن کی ضرورت نہیں ہے۔
2. یہ بعض اوقات اسٹیٹ لیس APIs کے مقابلے سست ہوسکتے ہیں کیونکہ انہیں ڈیٹا کی ضرورت ہوتی ہے اور اس میں وقت لگتا ہے۔ 2. اسٹیٹ لیس APIs تیز تر ہوتے ہیں کیونکہ ان کو درخواستوں کے بارے میں ڈیٹا کی ضرورت اور ذخیرہ نہیں ہوتا ہے۔
3. اسٹیٹفول APIs کی پیمائش کرنا آسان نہیں ہے۔  3. پیمانہ کرنا آسان ہے کیونکہ انہیں پچھلی درخواستوں کے بارے میں ڈیٹا کو برقرار رکھنے کی ضرورت نہیں ہے۔
4. عام طور پر اسٹیٹ لیس APIs سے کم محفوظ سمجھا جاتا ہے۔ 4. یہ عام طور پر زیادہ محفوظ سمجھے جاتے ہیں۔

ایمیزون API گیٹ وے کیا ہے؟

Amazon API گیٹ وے ایک AWS سروس ہے جو اسٹیٹفول (ویب ساکٹ) اور اسٹیٹ لیس (HTTP اور REST) ​​APIs دونوں کو بنانے، برقرار رکھنے اور مانیٹر کرنے کے لیے استعمال ہوتی ہے۔ ہم ان APIs تک رسائی کے لیے استعمال کر سکتے ہیں:

  1. کوئی بھی AWS سروس
  2. AWS کلاؤڈ میں محفوظ کردہ ڈیٹا (جیسے S3 بالٹی)
  3. کوئی دوسری ویب سروسز۔

اگر آپ ایک API ڈویلپر ہیں، تو آپ آسانی سے اپنے APIs کو تیسرے فریق کے ڈویلپرز کو بھی بنا سکتے ہیں۔

AWS API گیٹ وے کے صارفین کی بنیادی طور پر دو قسمیں ہیں۔

  1. i) API ڈویلپرز جو API گیٹ وے میں مطلوبہ فعالیت کو فعال کرنے کے لیے ایک API بناتے اور تعینات کرتے ہیں
  2. ii) ایپ ڈویلپرز جو API ڈویلپر کے گاہک ہیں۔

ایمیزون API گیٹ وے آرکیٹیکچر

فن تعمیر

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

ایمیزون API گیٹ وے کی خصوصیات

  1. یہ اسٹیٹفول اور اسٹیٹ لیس APIs دونوں کو سپورٹ کرتا ہے۔ (مثالیں: Websocket، HTTP، اور REST)۔
  2. طاقتور تصدیقی میکانزم میں AWS شناخت، رسائی کے انتظام کی پالیسیاں، اور Lambda authorizer شامل ہیں۔
  3. ڈویلپر پورٹل جہاں APIs کے ڈویلپر اپنے APIs کو شائع کر سکتے ہیں۔
  4. CloudWatch کے لیے لاگنگ پر عمل درآمد اور رسائی، بشمول الارم سیٹ کرنے کا اختیار۔
  5. دیگر AWS خدمات کے ساتھ انضمام جیسے او ڈبلیو ایس لامبڈا۔ اور AWS Kinesis.
  6. AWS WAF کے ساتھ انضمام کا استعمال ویب کے استحصال سے تحفظ کے لیے کیا جاتا ہے، اور AWS X-Ray کو کارکردگی میں تاخیر کو سمجھنے اور اس پر زور دینے کے لیے استعمال کیا جاتا ہے۔

ایمیزون API گیٹ وے کے ساتھ شروع کرنا

اب ہم سرور لیس API بنانے جا رہے ہیں۔ سرور لیس API میں، ہم سرورز کے انتظام میں وقت گزارنے کے بجائے اپنی ایپلیکیشنز پر توجہ مرکوز کر سکتے ہیں۔ یہ اس طرح کام کرتا ہے:

  • API کلائنٹ کے ذریعہ طلب کی گئی ہے۔
  • API لیمبڈا کو درخواست بھیجتا ہے۔
  • لیمبڈا لیمبڈا فنکشن کو انجام دیتا ہے اور نتیجہ API کو واپس بھیجتا ہے۔
  • لیمبڈا سے نتیجہ حاصل کرنے کے بعد، API کلائنٹ کو جواب دیتا ہے۔

http api

مرحلہ 1 - لیمبڈا فنکشن بنائیں

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

لامباڈا فنکشن بنائیں

لیمبڈا فنکشن بنانا:

1) https://console.aws.amazon.com/lambda پر لیمبڈا کنسول پر جائیں

2) فنکشن بنائیں پر کلک کریں۔

3) فنکشن کے نام کے طور پر "my-function" درج کریں۔

4) رن ٹائم کے طور پر ازگر 3.9 کا انتخاب کریں۔

5) اس فنکشن کے لیے ہمیں پرمیشنز اور ایڈوانسڈ سیٹنگز ٹیب میں کچھ بھی تبدیل کرنے کی ضرورت نہیں ہوگی کیونکہ ڈیفالٹ پرمیشنز اس مظاہرے کے لیے کافی ہیں۔

4) فنکشن بنائیں پر کلک کریں۔

مرحلہ 2 - ایک HTTP API بنانا

ایمیزون API

HTTP API آپ کے لیمبڈا فنکشن کے لیے HTTP اینڈ پوائنٹ فراہم کرتا ہے۔ یہ اس طرح کام کرتا ہے:

  • کلائنٹ HTTP API کو استفسار کرتا ہے۔
  • API لیمبڈا کو متحرک کرتا ہے جو پھر لیمبڈا فنکشن کو انجام دیتا ہے۔
  • لیمبڈا نتیجہ API کو بھیجتا ہے۔
  • API موصولہ جواب کے ساتھ کلائنٹ کو جواب دیتا ہے۔

HTTP API بنانے کے اقدامات

1) API گیٹ وے کنسول https://console.aws.amazon.com/apigateway پر دیکھیں

2) اپنا پہلا HTTP API بنانے کے لیے Build پر کلک کریں۔

3) انضمام کے لیے شامل کریں پر کلک کریں۔

4) لیمبڈا کو منتخب کریں۔

5) اپنا لیمبڈا فنکشن مائی فنکشن درج کریں۔

6) API نام کے لیے، my-http-api درج کریں۔

7) اگلا پر کلک کریں۔

8) آپ کے لیے بنائے گئے راستے کا جائزہ لیں، اور پھر اگلا منتخب کریں۔

9) آپ کے لیے بنائے گئے مرحلے کا جائزہ لیں، اور پھر اگلا منتخب کریں۔

10) تخلیق پر کلک کریں۔

مرحلہ 3 اپنے API کی جانچ کریں -

اگلا، ہمیں اپنے API کو جانچنے کی ضرورت ہے تاکہ یہ یقینی بنایا جا سکے کہ یہ کام کر رہا ہے۔ اس کے لیے ہم اپنے API کو استعمال کرنے کے لیے ایک ویب براؤزر استعمال کریں گے۔

ایمیزون API

ہمارے API کو جانچنے کے لیے

  1. https://console.aws.amazon.com/apigateway پر API گیٹ وے کنسول پر جائیں۔
  2. اپنا API منتخب کریں۔
  3. اپنے API کے انووک یو آر ایل کو نوٹ کریں۔ (اوپر تصویر دیکھیں)
  4. اپنے API کے انووک یو آر ایل کو کاپی کریں، اور اسے ویب براؤزر میں چسپاں کریں۔ اپنے لیمبڈا فنکشن کو کال کرنے کے لیے انووک یو آر ایل اور اپنے لیمبڈا فنکشن کا نام شامل کریں۔ API گیٹ وے کنسول آپ کے Lambda فنکشن "my-function" کے نام کا استعمال کرتے ہوئے ایک راستہ بناتا ہے۔ 

    مکمل URL https://abcdef123.execute-api.us-east-2.amazonaws.com/my-function کی طرح نظر آنا چاہیے۔ جب آپ اس URL کو لوڈ کرتے ہیں، تو آپ کے براؤزر کے ذریعے API کو ایک GET درخواست بھیجی جاتی ہے۔

  1. آپ کو متن دیکھنا چاہئے "لیمبڈا سے ہیلو!" آپ کے براؤزر میں۔ لہذا آپ کے API کا جواب تصدیق شدہ ہے۔

ایمیزون API

نتیجہ

ہم نے اپنا پہلا HTTP API Amazon API گیٹ وے اور AWS Lambda کا استعمال کرتے ہوئے بنایا ہے۔ مزید، ہم اس کے استعمال کے مختلف کیسز کو تلاش کر سکتے ہیں، اور اسی طرح، ہم REST API بھی بنا سکتے ہیں، جو مزید فعالیت فراہم کرتا ہے۔

کیا آپ کو یہ مضمون پسند آیا؟ ہمیں نیچے تبصرے میں اپنے خیالات بتائیں۔ اس کے علاوہ، یہ بتانا نہ بھولیں کہ آپ اگلا کون سا مضمون پڑھنا چاہیں گے۔

ٹائم اسٹیمپ:

سے زیادہ تجزیات ودھیا