نشر الخوادم الوكيلة لواجهة برمجة التطبيقات باستخدام واجهة برمجة التطبيقات

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

لكل مؤسسة دورة حياة فريدة لتطوير البرامج (SDLC). وغالبًا ما يكون من الضروري مزامنة نشر الخادم الوكيل لواجهة برمجة التطبيقات ومواءمته مع العمليات المستخدمة في خدمات الخلفية.

يمكن استخدام طرق واجهة برمجة تطبيقات Edge الموضحة في هذا الموضوع لدمج إدارة الخادم الوكيل لواجهة برمجة التطبيقات في SDLC الخاص بمؤسستك. ويتمثل الاستخدام الشائع لواجهة برمجة التطبيقات هذه في كتابة نصوص برمجية أو رموز تنشر الخوادم الوكيلة لواجهة برمجة التطبيقات، أو تنقل الخوادم الوكيلة لواجهة برمجة التطبيقات من بيئة إلى أخرى، كجزء من عملية آلية أكبر تنشر أيضًا تطبيقات أخرى أو تنقلها.

ولا تضع واجهة برمجة تطبيقات Edge أي افتراضات حول SDLC (أو الخاصة بأي شخص آخر في هذا الشأن). بل تعرض فقط الوظائف البسيطة التي يمكن لفريق التطوير لديك تنسيقها لتنفيذ مراحل تطوير واجهة برمجة التطبيقات الخاصة بك آليًا وتحسينها.

للحصول على معلومات كاملة، يُرجى الاطّلاع على واجهات برمجة تطبيقات Edge.

لاستخدام واجهة برمجة تطبيقات Edge، يجب المصادقة على نفسك في مكالماتك. ويمكنك إجراء ذلك بإحدى الطرق التالية:

  • OAuth2 (السحابة الإلكترونية العامة فقط)
  • SAML (السحابة الإلكترونية العامة والخاصة)
  • المصادقة الأساسية (لا ننصح باستخدامها، تكون علنية وخاصة في السحابة الإلكترونية)

يركّز هذا الموضوع على مجموعة من واجهات برمجة التطبيقات المخصّصة لإدارة الخوادم الوكيلة لواجهة برمجة التطبيقات.

الفيديو: شاهد هذا الفيديو القصير لمعرفة كيفية نشر واجهة برمجة تطبيقات.

التفاعل مع واجهة برمجة التطبيقات

ترشدك الخطوات التالية إلى التفاعلات البسيطة مع واجهات برمجة التطبيقات.

سرد واجهات برمجة التطبيقات في مؤسستك

يمكنك البدء من خلال إدراج جميع الخوادم الوكيلة لواجهة برمجة التطبيقات في مؤسستك. (تذكَّر استبدال الإدخالات في EMAIL:PASSWORD وORG_NAME. للحصول على التعليمات، راجِع استخدام واجهة برمجة تطبيقات Edge.

curl -u EMAIL:PASSWORD \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/apis

نموذج إجابة:

[ "weatherapi" ]

الحصول على واجهة برمجة تطبيقات

يمكنك طلب الإجراء GET على أي خادم وكيل لواجهة برمجة التطبيقات في مؤسستك. يعرض هذا الطلب قائمة بجميع النُسخ المتاحة من الخادم الوكيل لواجهة برمجة التطبيقات.

curl -u EMAIL:PASSWORD -H "Accept: application/json" \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/apis/weatherapi

نموذج إجابة:

{
  "name" : "weatherapi",
  "revision" : [ "1" ]
}

التفاصيل الوحيدة التي تعرضها هذه الطريقة هي اسم الخادم الوكيل لواجهة برمجة التطبيقات مع النسخة المرتبطة به والتي تتضمن رقمًا مرتبطًا. تتألف الخوادم الوكيلة لواجهة برمجة التطبيقات من حزمة من ملفات الإعداد. توفر المراجعات آلية بسيطة لإدارة تحديثات الإعدادات أثناء التكرار. يتم ترقيم النُسخ بالتسلسل، ما يتيح لك التراجع عن التغيير من خلال نشر نسخة سابقة من الخادم الوكيل لواجهة برمجة التطبيقات. يمكنك أيضًا نشر نسخة سابقة من خادم وكيل لواجهة برمجة التطبيقات في بيئة المنتج، مع مواصلة إنشاء نسخ جديدة من الخادم الوكيل لواجهة برمجة التطبيقات في بيئة الاختبار. عندما تكون جاهزًا، يمكنك ترقية النسخة الأعلى من الخادم الوكيل لواجهة برمجة التطبيقات من بيئة الاختبار بدلاً من النسخة السابقة للخادم الوكيل لواجهة برمجة التطبيقات في بيئة المنتج.

في هذا المثال، توجد نسخة واحدة فقط لأنه تم إنشاء الخادم الوكيل لواجهة برمجة التطبيقات للتو. عندما يتنقل الخادم الوكيل لواجهة برمجة التطبيقات خلال دورة حياة الإعداد والنشر المكرر، يزيد رقم النسخة السابقة من خلال أعداد صحيحة. من خلال إرسال طلبات البيانات المباشرة من واجهة برمجة التطبيقات، يمكنك زيادة رقم النسخة السابقة للخادم الوكيل لواجهة برمجة التطبيقات بشكل اختياري. في بعض الأحيان، عندما تجري تغييرات طفيفة، قد لا تحتاج إلى زيادة المراجعة.

الحصول على نسخة سابقة من واجهة برمجة التطبيقات

من المفترض أن يتغيّر إصدار واجهة برمجة التطبيقات (مثل api.company.com/v1) في حالات نادرة جدًا. عند زيادة إصدار واجهة برمجة التطبيقات، يشير ذلك إلى حدوث تغيير كبير في توقيع الواجهة الخارجية التي تعرضها واجهة برمجة التطبيقات.

إنّ مراجعة الخادم الوكيل لواجهة برمجة التطبيقات هي رقم متزايد مرتبط بإعدادات الخادم الوكيل لواجهة برمجة التطبيقات. تحتفظ خدمات واجهة برمجة التطبيقات بنُسخ سابقة من إعداداتك تتيح لك الرجوع إلى الإعدادات السابقة في حال حدوث خطأ ما. تتم تلقائيًا زيادة مراجعة الخادم الوكيل لواجهة برمجة التطبيقات في كل مرة تستورد فيها خادمًا وكيلاً لواجهة برمجة التطبيقات باستخدام واجهة برمجة التطبيقات استيراد خادم وكيل لواجهة برمجة التطبيقات. إذا لم تكن تريد زيادة نسخة الخادم الوكيل لواجهة برمجة التطبيقات، استخدِم واجهة برمجة التطبيقات Update API والمراجع (واجهة برمجة التطبيقات للخادم الوكيل). إذا كنت تستخدم Maven للنشر، استخدِم الخيار clean أو update، كما هو موضّح في الملف التمهيدي الخاص بمكوّن Maven الإضافي.

على سبيل المثال، يمكنك استدعاء الإجراء GET في النسخة رقم 1 من خادم وكيل واجهة برمجة التطبيقات للحصول على عرض تفصيلي.

curl -u EMAIL:PASSWORD -H "Accept:application/json" \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/apis/weatherapi/revisions/1

نموذج إجابة

{
  "configurationVersion" : {
    "majorVersion" : 4,
    "minorVersion" : 0
  },
  "contextInfo" : "Revision 1 of application weatherapi, in organization {org_name}",
  "createdAt" : 1343178905169,
  "createdBy" : "andrew@apigee.com",
  "lastModifiedAt" : 1343178905169,
  "lastModifiedBy" : "andrew@apigee.com",
  "name" : "weatherapi",
  "policies" : [ ],
  "proxyEndpoints" : [ ],
  "resources" : [ ],
  "revision" : "1",
  "targetEndpoints" : [ ],
  "targetServers" : [ ],
  "type" : "Application"
}

يتم توثيق عناصر ضبط الخادم الوكيل لواجهة برمجة التطبيقات هذه بالتفصيل في مرجع ضبط الخادم الوكيل لواجهة برمجة التطبيقات.

نشر واجهة برمجة التطبيقات في بيئة

بعد ضبط الخادم الوكيل لواجهة برمجة التطبيقات على تلقّي الطلبات وإعادة توجيهها بشكل صحيح، يمكنك نشره في بيئة واحدة أو أكثر. عادةً ما تكرّر استخدام الخوادم الوكيلة لواجهة برمجة التطبيقات في test، ثم عندما تكون مستعدًا، يتم ترقية نسخة الخادم الوكيل لواجهة برمجة التطبيقات إلى prod. وغالبًا ما ستجد أن لديك العديد من المراجعات الأخرى للخادم الوكيل لواجهة برمجة التطبيقات في بيئة الاختبار، ويرجع ذلك في المقام الأول إلى أنك ستنفذ عمليات تكرار أقل بكثير في بيئة المنتج.

لا يمكن استدعاء خادم وكيل لواجهة برمجة التطبيقات قبل نشره في بيئة. بعد نشر مراجعة الخادم الوكيل لواجهة برمجة التطبيقات في الإنتاج، يمكنك نشر عنوان URL الخاص بـ prod على المطوّرين الخارجيين.

كيفية إدراج البيئات

تحتوي كل مؤسسة في Apigee Edge على بيئتين على الأقل: test وprod. ويكون الفارق عشوائيًا. إننا نسعى إلى توفير مساحة تتيح لك التأكّد من أنّ الخادم الوكيل لواجهة برمجة التطبيقات يعمل بشكل صحيح قبل إتاحته لمطوّري برامج خارجيين.

وكل بيئة هي في الحقيقة مجرد عنوان شبكة، ما يتيح لك فصل الزيارات بين الخوادم الوكيلة لواجهة برمجة التطبيقات التي تعمل عليها وتلك التي تصل إليها التطبيقات في وقت التشغيل.

توفر البيئات أيضًا فصلًا بين البيانات والموارد. يمكنك مثلاً إعداد ذاكرات تخزين مؤقت مختلفة في الاختبار والإنتاج، ولا يمكن الوصول إليها إلا من خلال الخوادم الوكيلة لواجهة برمجة التطبيقات التي يتم تنفيذها في هذه البيئة.

عرض البيئات في مؤسسة

curl -u EMAIL:PASSWORD \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/environments

نموذج إجابة

[ "test", "prod" ]

استكشاف عمليات النشر

عملية النشر هي مراجعة لخادم وكيل لواجهة برمجة التطبيقات تم نشره في بيئة. يمكن الوصول من خلال الشبكة إلى الخادم الوكيل لواجهة برمجة التطبيقات الذي يكون في الحالة تم النشر من خلال العناوين المحدّدة في العنصر <VirtualHost> لتلك البيئة.

نشر الخوادم الوكيلة لواجهة برمجة التطبيقات

يتعذّر استدعاء الخوادم الوكيلة لواجهة برمجة التطبيقات إلا بعد نشرها. تكشف "خدمات واجهة برمجة التطبيقات" عن واجهات برمجة تطبيقات RESTful التي تتيح التحكم في عملية النشر.

لا يمكن نشر أكثر من نسخة سابقة واحدة من خادم وكيل واجهة برمجة التطبيقات في بيئة ما في وقت معين. وبالتالي، يجب إلغاء نشر النسخة السابقة المنشورة. ويمكنك التحكّم في ما إذا كان سيتم نشر الحزمة الجديدة كنسخة جديدة أو ما إذا كانت ستحلّ محلّ النسخة الحالية.

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
معلومات

يجب أولاً إلغاء نشر النسخة السابقة الحالية. حدِّد اسم البيئة ورقم النسخة السابقة للخادم الوكيل لواجهة برمجة التطبيقات الذي تريد إلغاء نشره:

curl -X DELETE \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/environments/ENV_NAME/apis/API_NAME/revisions/REVISION_NUMBER/deployments \
  -u EMAIL:PASSWORD

ثم انشر النسخة الجديدة. يجب أن تكون النسخة الجديدة من الخادم الوكيل لواجهة برمجة التطبيقات موجودة من قبل:

curl -X POST -H "Content-type:application/x-www-form-urlencoded" \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/environments/ENV_NAME/apis/API_NAME/revisions/REVISION_NUMBER/deployments \
  -u EMAIL:PASSWORD

النشر السلس (بدون فترات توقف عن العمل)

للحدّ من احتمالية التوقف عن العمل أثناء النشر، استخدِم المعلَمة override في طريقة النشر، واضبطها على true.

لا يمكنك نشر نسخة سابقة من خادم وكيل لواجهة برمجة التطبيقات فوق نسخة أخرى. ويجب أن يكون النوع الأول غير منشور دائمًا. من خلال ضبط override على true، تشير إلى أنّه يجب نشر نسخة واحدة من خادم وكيل لواجهة برمجة التطبيقات على النسخة المنشورة حاليًا. ونتج عن ذلك إلغاء تسلسل النشر، حيث يتم نشر النسخة الجديدة، وبعد اكتمال عملية النشر، لا يتم نشر النسخة السابقة المنشورة.

يحدّد المثال التالي قيمة override من خلال تمريرها كمعلّمة نموذج:

curl -X POST -H "Content-type:application/x-www-form-urlencoded" \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/e/ENV_NAME/apis/API_NAME/revisions/REVISION_NUMBER/deployments" \
  -d "override=true" \
  -u EMAIL:PASSWORD

يمكنك تحسين عملية النشر أكثر من خلال ضبط المَعلمة delay. تحدّد المعلَمة delay فاصلاً زمنيًا بالثواني، يجب أن يتم قبله إلغاء نشر النسخة السابقة. ويرجع ذلك إلى أنّ المعاملات التي تتم أثناء الطيران لها فاصل زمني يجب أن تكتمل خلاله قبل إلغاء تفعيل الخادم الوكيل لواجهة برمجة التطبيقات الذي يعالج المعاملة. في ما يلي ما يحدث مع override=true ومجموعة المَعلمة delay:

  • تعالج النسخة 1 الطلبات.
  • يتم نشر النسخة 2 بالتوازي.
  • عند نشر النسخة 2 بالكامل، يتم إرسال عدد زيارات جديدة إلى النسخة 2. ولا يتم إرسال أي زيارات جديدة إلى النسخة 1.
  • ومع ذلك، قد تكون النسخة 1 لا تزال تعالج المعاملات الحالية. ومن خلال ضبط معلَمة delay (15 ثانية مثلاً)، تمنح النسخة السابقة رقم 1 15 ثانية للانتهاء من معالجة المعاملات الحالية.
  • بعد الفاصل الزمني للتأخير، لم يتم نشر النسخة 1.
curl -X POST -H "Content-type:application/x-www-form-urlencoded" \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/e/ENV_NAME/apis/API_NAME/revisions/REVISION_NUMBER/deployments?delay=15" \
  -d "override=true" \
  -u EMAIL:PASSWORD
تفاصيل دخول طلب البحث الوصف
override

الإعداد التلقائي هو false (سلوك النشر العادي: لم يتم نشر النسخة السابقة، ثم يتم نشر نسخة جديدة).

اضبط القيمة على true لإلغاء سلوك النشر العادي وتوفير نشر سلس. ستبقى النسخة السابقة الحالية منشورة أثناء نشر النسخة الجديدة أيضًا. عند نشر النسخة الجديدة، لا يتم نشر النسخة القديمة. استخدِم هذه العلامة مع المَعلمة delay للتحكّم في وقت إلغاء النشر.

delay

للسماح بإكمال معالجة المعاملات في النسخة السابقة الحالية قبل إلغاء نشرها، مع استبعاد إمكانية إضافة 502 Bad Gateway أو 504 Gateway Timeout errors، اضبط هذه المعلَمة على عدد الثواني الذي تريد أن يتأخر فيه إلغاء النشر. ما من حدّ أقصى لعدد الثواني التي يمكنك ضبطها، وليس هناك أي تأثير سلبي على الأداء عند ضبط عدد كبير من الثواني. وخلال عملية التأخير، لا يتم إرسال أي زيارات جديدة إلى النسخة السابقة.

وتكون القيمة التلقائية 0 (صفر) ثانية. عند ضبط override على "صحيح" والقيمة 0 لـ delay، لا يتم نشر النسخة الحالية على الفور بعد نشر النسخة الجديدة. يتم التعامل مع القيم السالبة باعتبارها 0 (صفر) ثانية.

عند استخدام override=true مع delay، يمكن التخلص من استجابات HTTP 5XX أثناء النشر. ويعود السبب في ذلك إلى أنّه سيتم نشر كلتا النسختين من الخادم الوكيل لواجهة برمجة التطبيقات في آنٍ واحد، على أن يتم إلغاء نشر النسخة القديمة بعد انقضاء هذه المهلة.

الاطّلاع على جميع عمليات النشر لمراجعة واجهة برمجة التطبيقات

في بعض الأحيان، يكون من الضروري جلب قائمة بجميع المراجعات المنشورة حاليًا للخادم الوكيل لواجهة برمجة التطبيقات.

curl https://api.enterprise.apigee.com/v1/o/ORG_NAME/apis/weatherapi/revisions/1/deployments \
  -u EMAIL:PASSWORD
{
  "aPIProxy" : "weatherapi",
  "environment" : [ {
    "configuration" : {
      "basePath" : "",
      "steps" : [ ]
    },
    "name" : "test",
    "server" : [ {
      "status" : "deployed",
      "type" : [ "message-processor" ],
      "uUID" : "90096dd1-1019-406b-9f42-fbb80cd01200"
    }, {
      "status" : "deployed",
      "type" : [ "message-processor" ],
      "uUID" : "7d6e2eb1-581a-4db0-8045-20d9c3306549"
    }, {
      "status" : "deployed",
      "type" : [ "router" ],
      "uUID" : "1619e2d7-c822-45e0-9f97-63882fb6a805"
    }, {
      "status" : "deployed",
      "type" : [ "router" ],
      "uUID" : "8a5f3d5f-46f8-4e99-b4cc-955875c8a8c8"
    } ],
    "state" : "deployed"
  } ],
  "name" : "1",
  "organization" : "org_name"
}

يحتوي الرد أعلاه على العديد من الخصائص الخاصة بالبنية الأساسية الداخلية في Apigee Edge. ما لم تكن تستخدم Apigee Edge في المؤسسة، لا يمكنك تغيير هذه الإعدادات.

السمات المهمة المضمَّنة في الردّ هي organization وenvironment وaPIProxy وname وstate. من خلال مراجعة قيم السمات هذه، يمكنك التأكّد من نشر مراجعة محدّدة من الخادم الوكيل لواجهة برمجة التطبيقات في بيئة.

الاطّلاع على جميع عمليات النشر في بيئة الاختبار

يمكنك أيضًا استرداد حالة النشر لبيئة معيّنة (بما في ذلك رقم المراجعة للخادم الوكيل لواجهة برمجة التطبيقات المنشور حاليًا) باستخدام الطلب التالي:

curl -u EMAIL:PASSWORD
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/environments/test/deployments

يعرض هذا النتيجة نفسها كما هو موضح أعلاه لكل واجهة برمجة تطبيقات يتم نشرها في بيئة الاختبار.

الاطّلاع على جميع عمليات النشر في مؤسستك

لاسترجاع قائمة بجميع النُسخ المنشورة حاليًا لجميع الخوادم الوكيلة لواجهة برمجة التطبيقات في جميع البيئات، يمكنك استخدام طريقة واجهة برمجة التطبيقات التالية:

curl https://api.enterprise.apigee.com/v1/o/ORG_NAME/deployments \
  -u EMAIL:PASSWORD

ويعرض هذا النتيجة نفسها كما هو موضح أعلاه لجميع الخوادم الوكيلة لواجهة برمجة التطبيقات المنشورة في جميع البيئات.

بما أنّ واجهة برمجة التطبيقات RESTful، يمكنك ببساطة استخدام الإجراء POST مع حمولة JSON أو XML مقابل المورد نفسه لإنشاء خادم وكيل لواجهة برمجة التطبيقات.

يتم إنشاء ملف شخصي للخادم الوكيل لواجهة برمجة التطبيقات. ويكون التمثيل التلقائي للخادم الوكيل لواجهة برمجة التطبيقات هو ترميز كائن JavaScript (JSON). يمكنك العثور أدناه على استجابة JSON التلقائية لطلب POST أعلاه الذي أنشأ خادمًا وكيلاً لواجهة برمجة تطبيقات باسم weatherapi. في ما يلي وصف لكل عنصر في الملف الشخصي:

{
  "configurationVersion" : {
    "majorVersion" : 4,
    "minorVersion" : 0
  },
  "contextInfo" : "Revision 1 of application weatherapi, in organization {org_name}",
  "createdAt" : 1357172145444,
  "createdBy" : "you@yourcompany.com",
  "displayName" : "weatherapi",
  "lastModifiedAt" : 1357172145444,
  "lastModifiedBy" : "you@yourcompany.com",
  "name" : "weatherapi",
  "policies" : [ ],
  "proxyEndpoints" : [ ],
  "resources" : [ ],
  "revision" : "1",
  "targetEndpoints" : [ ],
  "targetServers" : [ ],
  "type" : "Application"
}

إنّ الملف الشخصي للخادم الوكيل لواجهة برمجة التطبيقات الذي تم إنشاؤه يوضّح البنية الكاملة للخادم الوكيل لواجهة برمجة التطبيقات:

  • APIProxy revision: التكرار المرقم بالتسلسل لإعداد الخادم الوكيل لواجهة برمجة التطبيقات، على النحو الذي تنص عليه خدمات واجهة برمجة التطبيقات
  • APIProxy name: الاسم الفريد للخادم الوكيل لواجهة برمجة التطبيقات
  • ConfigurationVersion: إصدار خدمات واجهة برمجة التطبيقات الذي يتوافق معه إعداد الخادم الوكيل لواجهة برمجة التطبيقات
  • CreatedAt: الوقت الذي تم فيه إنشاء الخادم الوكيل لواجهة برمجة التطبيقات، وتنسيقه بتوقيت UNIX
  • CreatedBy: عنوان البريد الإلكتروني لمستخدم Apigee Edge الذي أنشأ الخادم الوكيل لواجهة برمجة التطبيقات
  • DisplayName: اسم سهل الاستخدام للخادم الوكيل لواجهة برمجة التطبيقات
  • LastModifiedAt: الوقت الذي تم فيه إنشاء الخادم الوكيل لواجهة برمجة التطبيقات، وتنسيقه بتوقيت UNIX
  • LastModifiedBy: عنوان البريد الإلكتروني لمستخدم Apigee Edge الذي أنشأ الخادم الوكيل لواجهة برمجة التطبيقات
  • Policies: قائمة بالسياسات التي تمت إضافتها إلى الخادم الوكيل لواجهة برمجة التطبيقات هذا
  • ProxyEndpoints: قائمة بنقاط ProxyEndpoints المسماة
  • Resources: قائمة بالموارد (JavaScript وPython وJava وCSV) المتاحة للتنفيذ في الخادم الوكيل لواجهة برمجة التطبيقات هذا
  • TargetServers: قائمة بخوادم TargetServers المسماة (يمكن إنشاؤها باستخدام واجهة برمجة تطبيقات الإدارة)، ويتم استخدامها في عمليات ضبط متقدّمة لأغراض موازنة التحميل
  • TargetEndpoints: قائمة بنقاط النهاية المسماة

تجدر الإشارة إلى أنّ العديد من عناصر إعداد الخادم الوكيل لواجهة برمجة التطبيقات التي تم إنشاؤها باستخدام الطريقة POST البسيطة أعلاه فارغة. في المواضيع التالية، ستتعلّم طريقة إضافة المكوّنات الرئيسية للخادم الوكيل لواجهة برمجة التطبيقات وإعدادها.

يمكنك أيضًا الاطّلاع على عناصر الضبط هذه في مرجع ضبط الخادم الوكيل لواجهة برمجة التطبيقات.

كتابة النص البرمجي مقابل واجهة برمجة التطبيقات

يوفّر استخدام نماذج الخوادم الوكيلة لواجهة برمجة التطبيقات المتاحة على GitHub نصوصًا برمجية في واجهة برمجة التطبيقات تلخّص أداة النشر في Apigee. إذا كنت لا تستطيع استخدام أداة النشر باستخدام Python لسبب ما، يمكنك طلب واجهة برمجة التطبيقات مباشرةً. يتم توضيح كلا الأسلوبين في نماذج النصوص البرمجية أدناه.

إكمال أداة النشر

أولاً، تأكَّد من توفّر أداة النشر في Python في بيئتك المحلية.

ثم أنشئ ملفًا للاحتفاظ ببيانات الاعتماد. وستستورد النصوص البرمجية للنشر هذه الإعدادات، ما يساعدك في إدارة بيانات الاعتماد لحسابك مركزيًا. في نموذج النظام الأساسي لواجهة برمجة التطبيقات، يُطلق على هذا الملف اسم setenv.sh.

#!/bin/bash

org="Your ORG on enterprise.apigee.com"
username="Your USERNAME on enterprise.apigee.com"

# While testing, it's not necessary to change the setting below
env="test"
# Change the value below only if you have an on-premise deployment
url="https://api.enterprise.apigee.com"
# Change the value below only if you have a custom domain
api_domain="apigee.net"

export org=$org
export username=$username
export env=$env
export url=$url
export api_domain=$api_domain

يوفّر الملف أعلاه جميع إعداداتك للنصوص البرمجية في واجهة المستخدم التي تشمل أداة النشر.

يمكنك الآن إنشاء نص برمجي لأحد الأوامر الذي يستورد هذه الإعدادات ويستخدمها لطلب أداة النشر. (للحصول على مثال، يمكنك الاطّلاع على نماذج منصّة Apigee API.)

#!/bin/bash

source path/to/setenv.sh

echo "Enter your password for the Apigee Enterprise organization $org, followed by [ENTER]:"

read -s password

echo Deploying $proxy to $env on $url using $username and $org

path/to/deploy.py -n {api_name} -u $username:$password -o $org -h $url -e $env -p / -d path/to/apiproxy

لتسهيل تنفيذ المهام، يمكنك أيضًا إنشاء نص برمجي لاستدعاء واجهة برمجة التطبيقات واختبارها، وذلك على النحو التالي:

#!/bin/bash

echo Using org and environment configured in /setup/setenv.sh

source /path/to/setenv.sh

set -x

curl "http://$org-$env.apigee.net/{api_basepath}"

استدعاء واجهة برمجة التطبيقات مباشرةً

قد يكون من المفيد كتابة نصوص برمجية بسيطة في واجهة برمجة التطبيقات تعمل على برمجة عملية تحميل ونشر الخوادم الوكيلة لواجهة برمجة التطبيقات.

يستدعي النص البرمجي أدناه واجهة برمجة تطبيقات الإدارة مباشرةً. يؤدي هذا الإجراء إلى إلغاء نشر النسخة الحالية من الخادم الوكيل لواجهة برمجة التطبيقات الذي تريد تعديله، وإنشاء ملف ZIP من دليل /apiproxy يحتوي على ملفات إعداد الخادم الوكيل، ثم تحميل الإعدادات واستيرادها ونشرها.

#!/bin/bash

#This sets the name of the API proxy and the basepath where the API will be available
api=api

source /path/to/setenv.sh

echo Delete the DS_store file on OSX

echo find . -name .DS_Store -print0 | xargs -0 rm -rf
find . -name .DS_Store -print0 | xargs -0 rm -rf

echo "Enter your password for the Apigee Enterprise organization $org, followed by [ENTER]:"

read -s password

echo Undeploy and delete the previous revision

# Note that you need to explicitly update the revision to be undeployed.
# One benefit of the Python deploy tool is that it manages this for you.

curl -k -u $username:$password "$url/v1/o/$org/e/$env/apis/$api/revisions/1/deployments" -X DELETE

curl -k -u $username:$password -X DELETE "$url/v1/o/$org/apis/$api/revisions/1"

rm -rf $api.zip

echo Create the API proxy bundle and deploy

zip -r $api.zip apiproxy

echo Import the new revision to $env environment 

curl -k -v -u $username:$password "$url/v1/o/$org/apis?action=import&name=$api" -T $api.zip -H "Content-Type: application/octet-stream" -X POST

echo Deploy the new revision to $env environment 

curl -k -u $username:$password "$url/v1/o/$org/e/$env/apis/$api/revisions/1/deployments" -X POST