أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
بصفتك مقدّم خدمة، يمكنك تطوير واجهات برمجة تطبيقات لتستخدمها تطبيقات العميل. لإنشاء خوادم وكيلة لواجهة برمجة التطبيقات ومنتجات واجهة برمجة التطبيقات وإعدادها وصيانتها، يمكنك استخدام واجهة المستخدم أو إرسال طلبات HTTP إلى واجهات برمجة التطبيقات للوصول إلى الخدمات المتوافقة مع REST، كما هو موضّح في الأقسام التالية.
استخدام واجهة مستخدم Edge
واجهة مستخدم Apigee Edge هي أداة مستندة إلى المتصفّح يمكنك استخدامها لإنشاء وتكوين وإدارة خوادم وكيل لواجهة برمجة التطبيقات ومنتجات واجهة برمجة التطبيقات. يمكن إكمال مجموعة فرعية من المهام باستخدام واجهة برمجة التطبيقات فقط.
يوضّح الجدول التالي كيفية الوصول إلى واجهة مستخدم Edge:
| المنتج | اسم واجهة المستخدم | عنوان URL للوصول |
|---|---|---|
| Edge | واجهة مستخدم Edge | للوصول إلى واجهة مستخدم Edge، استخدِم عنوان URL التالي: https://apigee.com/edge للحصول على برنامج تعليمي حول استخدام واجهة مستخدم Edge، راجِع إنشاء أول خادم وكيل لواجهة برمجة التطبيقات. |
| Edge for Private Cloud | واجهة مستخدم Classic Edge | للوصول إلى واجهة مستخدم Edge في "Edge للسحابة الإلكترونية الخاصة"، استخدِم عنوان URL التالي: http://ms-ip:9000 حيث ms-ip هو عنوان IP أو اسم نظام أسماء النطاقات لعقدة "خادم الإدارة". |
باستخدام واجهة مستخدم Edge، يمكنك إجراء ما يلي:
- يمكنك إنشاء خوادم وكيلة لواجهة برمجة التطبيقات من خلال تعديل الرمز البرمجي وتتبُّع مسارات الطلبات عبر الخوادم الوكيلة.
- إنشاء منتجات واجهة برمجة التطبيقات التي تجمع الخوادم الوكيلة لعرضها على طلبات العملاء
- إدارة المطوّرين وتطبيقاتهم
- اضبط بيئتَي الاختبار والإنتاج.
- تنفيذ تطبيقات JavaScript وNode.js
تعرض الصورة التالية أداة تعديل خادم وكيل لواجهة برمجة التطبيقات في واجهة المستخدم التي يمكنك استخدامها لإنشاء خادم وكيل لواجهة برمجة التطبيقات وضبطه:

استخدام Edge API
يمكنك استخدام Edge API لإدارة موارد واجهة برمجة التطبيقات. وتوفّر واجهات برمجة التطبيقات أيضًا إمكانية الوصول إلى إمكانات منخفضة المستوى لا تعرضها واجهة المستخدم.
غالبًا ما تتلقّى نقاط نهاية واجهة برمجة التطبيقات بيانات تحتوي على معلومات الإعداد وتتطلّب منك إدخال معلومات المصادقة، مثل اسم المستخدم وكلمة المرور، للوصول إليها. باتّباع مبادئ RESTful، يمكنك استدعاء طرق HTTP GET وPOST وPUT وDELETE على أي من موارد واجهة برمجة التطبيقات.
للحصول على قائمة كاملة بواجهات برمجة التطبيقات في Apigee Edge، يُرجى الاطّلاع على مرجع واجهة برمجة التطبيقات في Apigee Edge.
فهم المسار الأساسي لواجهة Edge API
يجمع المسار الذي ستستخدمه في طلبات البيانات من واجهة برمجة التطبيقات ما يلي:
- مسار أساسي يتضمّن اسم مؤسستك على سبيل المثال:
https://api.enterprise.apigee.com/v1/organizations/org_name - نقطة نهاية تشير إلى مورد Edge الذي تحاول الوصول إليه
على سبيل المثال، إذا كان اسم مؤسستك هو apibuilders، سيتم استخدام مسار الأساس التالي في كل طلب ترسله إلى واجهة برمجة التطبيقات:
https://api.enterprise.apigee.com/v1/organizations/apibuilders
لاسترداد قائمة بخوادم API الوكيلة في مؤسستك، عليك طلب GET على:
https://api.enterprise.apigee.com/v1/organizations/apibuilders/apis
يتم تحديد نطاق العديد من الموارد حسب البيئة. يتم توفير بيئتَين تلقائيًا، وهما بيئة الاختبار وبيئة الإنتاج. على سبيل المثال، يتم تحديد نطاق ذاكرات التخزين المؤقت حسب البيئة. يتم تضمين ذاكرة تخزين مؤقت مشتركة باسم "mycache" تلقائيًا في كل بيئة.
يمكنك إدراج ذاكرات التخزين المؤقت عن طريق طلب GET لمورد ذاكرة التخزين المؤقت على النحو التالي:
https://api.enterprise.apigee.com/v1/organizations/apibuilders/environments/test/caches https://api.enterprise.apigee.com/v1/organizations/apibuilders/environments/prod/caches
المصادقة على الوصول
يجب إثبات هويتك لخادم واجهة برمجة التطبيقات عند استدعاء واجهات برمجة التطبيقات. يمكنك إجراء ذلك بإحدى الطرق التالية:
- OAuth2
- SAML
- المصادقة الأساسية (غير مُقترَحة)
بالإضافة إلى ذلك، تنصح Apigee باستخدام المصادقة الثنائية، كما هو موضّح في مقالة تفعيل المصادقة الثنائية لحسابك على Apigee.
حدود Edge API
يقتصر كل مؤسسة على معدّلات طلبات بيانات من واجهة برمجة التطبيقات Edge التالية:
- 10,000 مكالمة في الدقيقة للمؤسسات التي لديها خطط مدفوعة
- 600 مكالمة في الدقيقة للمؤسسات التجريبية
لا يتم احتساب رموز حالة HTTP 401 و403 ضمن هذا الحدّ. أي طلبات تتجاوز هذه الحدود تعرض رمز الحالة 429 Too Many Requests.
نصائح للعمل مع واجهات Edge API
يوضّح هذا القسم بعض الأساليب التي تسهّل العمل مع واجهات برمجة التطبيقات Edge.
اختصار عناوين URL للطلبات
عند إنشاء عنوان URL الخاص بالطلب إلى واجهات Edge APIs، يمكنك استخدام الاختصارات التالية:
/e = /environments/o = /organizations/r = /revisions
إذا كنت تستخدم اختصارات، عليك استخدامها بشكل متّسق. أي يجب اختصار جميع العناصر في المسار، كما هو موضّح أعلاه وفي المثال التالي، أو عدم اختصار أي منها. سيؤدي استخدام كل من العناصر الكاملة والمختصرة في المسار نفسه إلى حدوث خطأ.
على سبيل المثال:
THIS: https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/environments/prod/apis/helloworld/revisions/1/deployments CAN BE MUCH SHORTER: https://api.enterprise.apigee.com/v1/o/ahamilton-eval/e/prod/apis/helloworld/r/1/deployments
تنفيذ أوامر curl
استخدِم برنامجًا لعميل HTTP لإرسال الطلبات إلى واجهة برمجة التطبيقات. تقدّم العديد من الأمثلة في المستندات
نماذج لطلبات واجهة برمجة التطبيقات باستخدام curl، وهو برنامج HTTP مستخدَم على نطاق واسع. إذا كنت بحاجة إلى تثبيت curl، يمكنك تنزيله من http://curl.haxx.se.
تتيح طلبات البيانات من واجهة برمجة التطبيقات ضغط gzip على الردود. إذا ضبطت 'Accept-Encoding: gzip, deflate' في طلبات البيانات من واجهة برمجة التطبيقات، سيتم عرض أي ردّ أكبر من 1024 بايت بتنسيق gzip.
تنسيق طلبات XML وJSON واستجاباتها
تعرض Edge API البيانات بتنسيق JSON تلقائيًا. بالنسبة إلى العديد من الطلبات، يمكنك الحصول على الرد
المرسَل بتنسيق XML بدلاً من ذلك. لإجراء ذلك، اضبط عنوان طلب Accept على application/xml، كما يوضّح المثال التالي:
curl -H "Authorization: Bearer `get_token`" \ -H "Accept: application/xml" \ https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apis/helloworld/revisions/1/policies/ \ | xmllint --format -
يجب أن تبدو الاستجابة على النحو التالي:
<List> <Item>SOAP-Message-Validation-1</Item> <Item>Spike-Arrest-1</Item> <Item>XML-to-JSON-1</Item> </List>
يُرجى العِلم أنّ هذا المثال يستخدم prettyprint لعرض النتائج من خلال توجيه الردّ عبر xmllint.
لا تتوافق الأداة acurl مع العنوان Accept. نتيجةً لذلك، يمكنك الحصول على استجابات منسَّقة بتنسيق JSON فقط باستخدام acurl.
لاستخدام prettyprint في استجابة JSON، يمكنك استخدام مكتبة json.tool Python:
curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apis/helloworld/revisions/1/policies/ \ -H "Accept: application/json" \ -H "Authorization: Bearer `get_token`" \ | python -m json.tool
في ما يلي مثال على الردّ:
[ "SOAP-Message-Validation-1", "Spike-Arrest-1", "XML-to-JSON-1" ]
بالنسبة إلى XML، يمكنك استخدام xmllint:
curl https://ahamilton-eval-test.apigee.net/getstarted -u email_address | xmllint --format -
عند نشر أو وضع حمولات بتنسيق XML، استخدِم عنوان HTTP Content-type:
acurl -H "Content-type:text/xml" -X POST -d \ '<XMLPayload> </XMLPayload> ' \ https://api.enterprise.apigee.com/v1/organizations/apifactory/apis -u email_address
بيئات النشر
تتضمّن كل مؤسسة تستخدم Apigee Edge تلقائيًا بيئتَين على الأقل يمكنها استخدامهما في تطوير واجهات برمجة التطبيقات واختبارها ونشرها، وهما "test" و "prod". استخدِم بيئة "الاختبار" لتطوير واجهات برمجة التطبيقات واختبارها قبل إتاحتها للجميع. يمكن للمطوّرين الداخليين فقط الوصول إلى واجهات برمجة التطبيقات التي تم نشرها في بيئة الاختبار. يمكنك نشر واجهات برمجة التطبيقات في بيئة "الإنتاج" لإتاحتها بشكل علني لمطوّري التطبيقات.
تصحيح الأخطاء والاختبار
توفّر Apigee أداة تتبُّع تتيح لك تصحيح أخطاء عمليات نقل البيانات الشاملة للطلبات والاستجابات. تعرض نتائج التتبُّع عناوين الطلبات والاستجابات والحِملات، وتنفيذ السياسات، وقيم المتغيّرات، وأي أخطاء قد حدثت أثناء عملية التنفيذ.
نقاط البيانات الرئيسية التي يمكن استخدامها في تحديد المشاكل وحلّها:
- الطوابع الزمنية: استخدِم الطوابع الزمنية لمعرفة المدة التي يستغرقها تنفيذ كل خطوة. تساعدك مقارنة الطوابع الزمنية في عزل السياسات التي تستغرق أطول وقت للتنفيذ والتي تؤدي إلى إبطاء طلبات البيانات من واجهة برمجة التطبيقات.
- المسار الأساسي: من خلال التحقّق من المسار الأساسي، يمكنك التأكّد من أنّ إحدى السياسات توجّه الرسالة إلى الخادم الصحيح.
- نتائج تنفيذ السياسة: تتيح لك هذه النتائج معرفة ما إذا كان يتم تعديل الرسالة على النحو المتوقّع، مثلاً إذا كان يتم تحويل الرسالة من XML إلى JSON، أو إذا كان يتم تخزين الرسالة مؤقتًا.
تعرض الصورة التالية نتائج التتبُّع:

تنقسم كل جلسة Trace إلى الخطوات الرئيسية التالية:
- الطلب الأصلي الذي تم تلقّيه من العميل: يعرض هذا الحقل الفعل ومسار URI للطلب الوارد من تطبيق العميل، بالإضافة إلى العناوين وبيانات النص ومعلمات طلب البحث.
- الطلب المُرسَل إلى خدمة الخلفية: يعرض رسالة الطلب المُرسَلة إلى خدمة الخلفية من خلال خادم وكيل لواجهة برمجة التطبيقات.
- الاستجابة التي تعرضها خدمة الخلفية: تعرض هذه السمة عناوين الاستجابة والحِمل الذي تعرضه خدمة الخلفية.
- الردّ النهائي المُرسَل إلى العميل: رسالة الردّ التي تم إرجاعها إلى تطبيق العميل الذي أرسل الطلب بعد تنفيذ مسار الردّ.