المُقدّمة
ما هو API؟
بعبارات بسيطة ، API هو رسول ؛ دعونا نفهم هذا مع بعض الأمثلة. لنفترض أنك جائع وتحتاج إلى طهي شيء ما في المنزل. إذا كنت ترغب في صنع المعكرونة ، ما عليك سوى إخراج المكونات من الخزانة ، وإشعال الموقد ، وتحضيره بنفسك. هذا برنامج يقوم بشيء ما بمفرده باستخدام موارده الخاصة. لكن لنفترض أنك تريد البيتزا - ليس لديك المكونات ، وفرن منزلك ليس مناسبًا حقًا لصنع قشرة مقرمشة لطيفة. لذلك تذهب إلى مطعم بيتزا بدلاً من ذلك. ولكن على عكس المنزل ، لا يمكنك فقط الذهاب إلى المطبخ والبدء في استخدام مكوناته لصنع البيتزا. إنهم لا يريدون أيديكم القذرة على أغراضهم! لذلك ماذا ستفعل؟ يجب عليك الذهاب إلى المنضدة وإجراء طلب - ستكون هناك قائمة تسرد أنواع البيتزا التي يمكنك طلبها وما هي الطبقة أو الخيارات الأخرى التي يمكنك اختيارها. هذا هو API.
واجهة برمجة التطبيقات (API) هي مجموعة من القواعد التي تحدد كيفية تفاعل برنامجين.
تسمح API لبرنامج واحد بالوصول إلى وظائف برنامج آخر. على سبيل المثال ، إذا كان لديك برنامج يحتاج إلى استرداد البيانات من الإنترنت ، فيمكنه استخدام واجهة برمجة التطبيقات (API) لطلب تلك البيانات من الخادم. سوف يستجيب الخادم بعد ذلك بالبيانات المطلوبة ، ويمكن للبرنامج استخدامها حسب الحاجة.
تُستخدم واجهات برمجة التطبيقات (API) للسماح للبرامج المختلفة بالتواصل مع بعضها البعض ومشاركة البيانات والوظائف. إنها جزء مهم من تطوير البرمجيات الحديثة ، لأنها تسمح للأنظمة المختلفة بالعمل معًا وتمكين إنشاء تطبيقات برمجية أكثر تعقيدًا وقوة.
واجهات برمجة تطبيقات HTTP
HTTP API هو نوع من API يستخدم بروتوكول HTTP لإرسال واستقبال البيانات. يسمح للبرامج بإرسال واستقبال البيانات باستخدام طلبات واستجابات HTTP. يمكن أن تكون هذه الطلبات والاستجابات بتنسيقات مختلفة ، مثل نص عادي أو JSON أو XML. يتم استخدامها بشكل شائع في مجموعة واسعة من التطبيقات ، بما في ذلك تطبيقات الويب وتطبيقات الأجهزة المحمولة والخدمات المصغرة. تعد واجهات برمجة التطبيقات هذه أرخص نسبيًا من واجهات برمجة تطبيقات REST ولديها وظائف أقل من الأحدث.
واجهات برمجة التطبيقات REST
REST API هو نوع من API يتبع مجموعة من المبادئ المعمارية تسمى REST (نقل الحالة التمثيلية). REST هو نمط من هندسة البرمجيات يحدد مجموعة من القيود لإنشاء واجهات برمجة تطبيقات الويب.
واجهات برمجة التطبيقات ذات الحالة
واجهة برمجة التطبيقات ذات الحالة هي واجهة برمجة تطبيقات تحتفظ بمعلومات حول كل طلب عميل وتستخدم هذه المعلومات لمعالجة الطلبات اللاحقة. هذا يعني أن واجهة برمجة التطبيقات تخزن البيانات حول كل طلب ، مثل معلمات الطلب ، في جلسة من جانب الخادم. ثم يتم استخدام هذه البيانات لمعالجة الطلبات اللاحقة من نفس العميل.
واجهات برمجة التطبيقات عديمة الحالة
من ناحية أخرى ، لا تحتفظ واجهة برمجة التطبيقات عديمة الحالة بمعلومات حول طلبات العملاء. يقوم بمعالجة كل طلب بشكل مستقل ، دون تخزين أي بيانات حول الطلبات السابقة. هذا يعني أن واجهة برمجة التطبيقات لا تحتفظ بجلسة من جانب الخادم ولا تستخدم بيانات من الطلبات السابقة لمعالجة الطلبات اللاحقة.
الاختلافات الرئيسية بين واجهات برمجة التطبيقات ذات الحالة وعديمة الحالة
فيما يلي بعض الاختلافات الرئيسية بين واجهات برمجة التطبيقات ذات الحالة والعديمة الحالة:
واجهات برمجة تطبيقات ثابتة |
واجهات برمجة تطبيقات STATELESS |
1. طلب جلسة من جانب الخادم لتخزين البيانات حول طلبات العميل | 1. لا تتطلب جلسة من جانب الخادم لتخزين البيانات حول طلبات العميل |
2. قد تكون هذه أحيانًا أبطأ من واجهات برمجة التطبيقات عديمة الحالة لأنها تتطلب وتخزن البيانات التي تستغرق وقتًا. | 2. تعد واجهات برمجة التطبيقات عديمة الحالة أسرع لأنها لا تتطلب بيانات حول الطلبات وتخزنها. |
3. واجهات برمجة التطبيقات ذات الحالة ليس من السهل قياسها | 3. أسهل في القياس لأنها لا تحتاج إلى الاحتفاظ ببيانات حول الطلبات السابقة. |
4. تعتبر بشكل عام أقل أمانًا من واجهات برمجة التطبيقات عديمة الحالة | 4. تعتبر هذه بشكل عام أكثر أمانًا. |
ما هي Amazon API Gateway؟
Amazon API Gateway هي خدمة AWS تُستخدم لإنشاء وصيانة ومراقبة واجهات برمجة التطبيقات (APIs) وعديمة الحالة (HTTP و REST). يمكننا استخدام واجهات برمجة التطبيقات هذه للوصول إلى:
- أي خدمة AWS
- البيانات المخزنة في سحابة AWS (مثل حاوية S3)
- أي خدمات ويب أخرى.
إذا كنت مطورًا لواجهة برمجة التطبيقات ، فيمكنك بسهولة إنشاء واجهات برمجة التطبيقات الخاصة بك لمطوري الطرف الثالث أيضًا.
يوجد نوعان أساسيان من مستخدمي AWS API Gateway.
- ط) مطورو API الذين يقومون بإنشاء ونشر API لتمكين الوظائف المطلوبة في API Gateway
- ب) مطورو التطبيقات الذين هم عملاء مطور API.
هندسة Amazon API Gateway
توضح هذه البنية كيف يمكن إنشاء تطبيقات بدون خادم من خلال تجربة مطور متسقة ومتكاملة. من المستخدمين النهائيين إلى مراكز البيانات ، تتعامل API Gateway مع جميع المهام المعنية ، مثل قبول ومعالجة آلاف المكالمات المتزامنة ، وإدارة حركة المرور ، والتفويض ، والمراقبة ، والتحكم في الوصول ، وما إلى ذلك.
ميزات Amazon API Gateway
- وهو يدعم واجهات برمجة التطبيقات ذات الحالة والعديمة الحالة. (أمثلة: Websocket و HTTP و REST).
- تتضمن آليات المصادقة القوية AWS Identity ، وسياسات إدارة الوصول ، ومخول Lambda.
- بوابة المطور حيث يمكن لمطوري واجهات برمجة التطبيقات نشر واجهات برمجة التطبيقات الخاصة بهم.
- التنفيذ والوصول إلى تسجيل الدخول لـ CloudWatch ، بما في ذلك خيار ضبط الإنذارات.
- التكامل مع خدمات AWS الأخرى مثل AWS لامدا و AWS Kinesis.
- يتم استخدام التكامل مع AWS WAF للحماية من عمليات استغلال الويب ، ويتم استخدام AWS X-Ray لفهم وتأكيد فترات انتقال الأداء.
بدء استخدام Amazon API Gateway
الآن سنقوم بإنشاء واجهة برمجة تطبيقات بدون خادم. في واجهة برمجة تطبيقات بدون خادم ، يمكننا التركيز على تطبيقاتنا بدلاً من قضاء الوقت في إدارة الخوادم. يعمل مثل هذا:
- يتم استدعاء API من قبل العميل
- يرسل API طلبًا إلى lambda
- ينفذ Lambda وظيفة lambda ويرسل النتيجة مرة أخرى إلى API
- بعد استلام النتيجة من lambda ، تستجيب API للعميل
الخطوة 1 - إنشاء وظيفة لامدا
تُستخدم وظيفة Lambda للواجهة الخلفية لواجهة برمجة التطبيقات الخاصة بنا. تقوم Lambda بتشغيل الكود فقط عند الحاجة إليه. كما أنه يتوسع تلقائيًا من عدد قليل من الطلبات في اليوم إلى آلاف الطلبات كل ثانية.
إنشاء دالة لامدا:
1) انتقل إلى وحدة تحكم lambda على https://console.aws.amazon.com/lambda
2) انقر فوق إنشاء وظيفة.
3) أدخل "my-function" كاسم الوظيفة.
4) اختر Python 3.9 كوقت تشغيل.
5) بالنسبة لهذه الوظيفة ، لن نحتاج إلى تغيير أي شيء في علامة التبويب الأذونات والإعدادات المتقدمة لأن الأذونات الافتراضية كافية لهذا العرض التوضيحي.
4) انقر فوق إنشاء وظيفة.
الخطوة 2 - إنشاء واجهة برمجة تطبيقات HTTP
توفر واجهة برمجة تطبيقات HTTP نقطة نهاية HTTP لوظيفة Lambda الخاصة بك. يعمل مثل هذا:
- يرسل العميل الاستعلام إلى HTTP API
- تقوم API بتشغيل lambda والتي تقوم بعد ذلك بتنفيذ وظيفة lambda
- يرسل Lambda النتيجة إلى API
- API يستجيب للعميل مع الاستجابة المستلمة
خطوات إنشاء HTTP API
1) قم بزيارة وحدة تحكم بوابة API على https://console.aws.amazon.com/apigateway
2) انقر فوق إنشاء لإنشاء أول واجهة برمجة تطبيقات HTTP
3) انقر فوق إضافة التكامل للتكامل
4) حدد Lambda.
5) أدخل وظيفتي لامدا.
6) بالنسبة لاسم API ، أدخل my-http-api.
7) انقر فوق التالي.
8) راجع المسار الذي تم إنشاؤه لك ، ثم اختر التالي.
9) راجع المرحلة التي تم إنشاؤها لك ، ثم اختر التالي.
10) انقر فوق إنشاء.
الخطوة 3 اختبر API الخاص بك -
بعد ذلك ، نحتاج إلى اختبار واجهة برمجة التطبيقات الخاصة بنا للتأكد من أنها تعمل. لهذا سوف نستخدم متصفح الويب لاستدعاء API الخاص بنا.
لاختبار API الخاص بنا
- انتقل إلى وحدة تحكم بوابة API على https://console.aws.amazon.com/apigateway
- حدد API الخاص بك.
- قم بتدوين عنوان URL الخاص باستدعاء API. (انظر الصورة أعلاه)
- انسخ عنوان URL الخاص باستدعاء API ، والصقه في متصفح الويب. انضم إلى عنوان URL الذي تم الاستدعاء إليه واسم وظيفة lambda لاستدعاء وظيفة Lambda الخاصة بك. تنشئ وحدة التحكم في بوابة API مسارًا باستخدام اسم وظيفة Lambda "my-function" افتراضيًا.
يجب أن يبدو عنوان URL الكامل بالشكل https://abcdef123.execute-api.us-east-2.amazonaws.com/my-function. عند تحميل عنوان URL هذا ، يتم إرسال طلب GET بواسطة متصفحك إلى واجهة برمجة التطبيقات
- يجب أن ترى النص "مرحبًا من Lambda!" في متصفحك. ومن ثم تم التحقق من استجابة API الخاصة بك.
وفي الختام
لقد أنشأنا أول واجهة برمجة تطبيقات HTTP باستخدام Amazon API Gateway و AWS Lambda. علاوة على ذلك ، يمكننا استكشاف حالات استخدام مختلفة لها ، وبالمثل ، يمكننا إنشاء واجهة برمجة تطبيقات REST أيضًا ، والتي توفر المزيد من الوظائف.
هل أعجبك هذا المقال؟ أخبرنا بأفكارك في التعليق أدناه. أيضًا ، لا تنسَ ذكر المقالة التي ترغب في قراءتها بعد ذلك.
مقالات ذات صلة
- محتوى مدعوم من تحسين محركات البحث وتوزيع العلاقات العامة. تضخيم اليوم.
- بلاتوبلوكشين. Web3 Metaverse Intelligence. تضخيم المعرفة. الوصول هنا.
- المصدر https://www.analyticsvidhya.com/blog/2023/01/introduction-to-amazon-api-gateway-using-aws-lambda/
- 1
- 9
- a
- من نحن
- فوق
- الوصول
- ادارة الوصول
- متقدم
- ضد
- الكل
- يسمح
- أمازون
- بوابة أمازون API
- و
- آخر
- API
- واجهات برمجة التطبيقات
- التطبيق
- تطبيق
- التطبيقات
- التطبيقات
- معماري
- هندسة معمارية
- البند
- التحقّق من المُستخدم
- ترخيص
- تلقائيا
- AWS
- AWS لامدا
- الى الخلف
- الخلفية
- لان
- أقل من
- ما بين
- المتصفح
- نساعدك في بناء
- بنيت
- دعوة
- تسمى
- دعوات
- الحالات
- مراكز
- تغيير
- أرخص
- اختار
- زبون
- سحابة
- الكود
- التعليق
- عادة
- التواصل
- مجمع
- منافس
- نظرت
- ثابتة
- كنسولات
- القيود
- مراقبة
- Counter
- خلق
- خلق
- يخلق
- خلق
- خلق
- العملاء
- البيانات
- مراكز البيانات
- يوم
- الترتيب
- يعرف
- نشر
- المطور
- المطورين
- التطوير التجاري
- الخلافات
- مختلف
- فعل
- لا
- إلى أسفل
- كل
- أسهل
- بسهولة
- التأكيد
- تمكين
- نقطة النهاية
- أدخل
- إلخ
- الأثير (ETH)
- مثال
- أمثلة
- ينفذ
- الخبره في مجال الغطس
- مآثر
- اكتشف
- أسرع
- قليل
- نار
- الاسم الأول
- تركز
- متابعات
- تبدأ من
- بالإضافة إلى
- وظيفة
- وظائف
- وظيفة
- إضافي
- بوابة
- على العموم
- دولار فقط واحصل على خصم XNUMX% على جميع
- Go
- الذهاب
- مقابض
- العناية باليد
- الصفحة الرئيسية
- كيفية
- HTTPS
- جائع
- هوية
- صورة
- أهمية
- in
- تتضمن
- بما فيه
- بشكل مستقل
- معلومات
- بدلًا من ذلك
- المتكاملة
- التكامل
- تفاعل
- السطح البيني
- Internet
- المُقدّمة
- المشاركة
- IT
- الانضمام
- جسون
- القفل
- قائمة
- تحميل
- بحث
- يبدو مثل
- المحافظة
- تحتفظ
- جعل
- القيام ب
- إدارة
- إدارة
- ماكس العرض
- يعني
- القائمة
- رسول
- microservices
- الجوال
- تطبيقات الموبايل
- تقدم
- مراقبة
- مراقبة
- الأكثر من ذلك
- الاسم
- حاجة
- بحاجة
- إحتياجات
- التالي
- ONE
- خيار
- مزيد من الخيارات
- طلب
- أخرى
- الخاصة
- المعلمات
- جزء
- أداء
- اختيار
- البيتزا
- المكان
- عادي
- أفلاطون
- الذكاء افلاطون البيانات
- أفلاطون داتا
- سياسات الخصوصية والبيع
- بوابة
- قوي
- سابق
- مبادئ
- عملية المعالجة
- العمليات
- معالجة
- البرنامج
- برمجة وتطوير
- البرامج
- الحماية
- بروتوكول
- ويوفر
- نشر
- بايثون
- نطاق
- عرض
- تسلم
- تلقى
- يستلم
- نسبيا
- طلب
- طلبات
- تطلب
- مطلوب
- الموارد
- الرد
- استجابة
- REST
- نتيجة
- مراجعة
- طريق
- القواعد
- نفسه
- حجم
- النطاقات
- الثاني
- تأمين
- إرسال
- Serverless
- الخدمة
- خدمات
- الجلسة
- طقم
- إعدادات
- مشاركة
- ينبغي
- وبالمثل
- الاشارات
- So
- تطبيقات الكمبيوتر
- تطوير البرمجيات
- بعض
- شيء
- الإنفاق
- المسرح
- بداية
- بدأت
- الولايه او المحافظه
- متجر
- تخزين
- فروعنا
- نمط
- لاحق
- هذه
- كاف
- الدعم
- أنظمة
- أخذ
- يأخذ
- المهام
- سياسة الحجب وتقييد الوصول
- تجربه بالعربي
- •
- من مشاركة
- طرف ثالث
- الآلاف
- الوقت
- إلى
- سويا
- جدا
- حركة المرور
- تحويل
- أنواع
- فهم
- URL
- us
- تستخدم
- المستخدمين
- مختلف
- التحقق
- الويب
- تطبيقات الويب
- متصفح الويب
- خدمات ويب
- websocket
- ابحث عن
- التي
- من الذى
- واسع
- مدى واسع
- سوف
- بدون
- للعمل
- العمل معا
- عامل
- أعمال
- أشعة سينية
- XML
- حل متجر العقارات الشامل الخاص بك في جورجيا
- نفسك
- زفيرنت