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

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلىمستندات Apigee X.
info

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

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

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

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

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

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

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

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

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

توضّح لك الخطوات التالية كيفية التفاعل البسيط مع واجهات برمجة التطبيقات.

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

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

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) بشكل غير متكرر. عند زيادة إصدار واجهة برمجة التطبيقات، يشير ذلك إلى المطوّرين إلى حدوث تغيير كبير في توقيع الواجهة الخارجية التي تعرضها واجهة برمجة التطبيقات.

_مراجعة_ الخادم الوكيل لواجهة برمجة التطبيقات هي رقم متزايد مرتبط بإعداد خادم وكيل لواجهة برمجة التطبيقات. تحتفظ "خدمات واجهة برمجة التطبيقات" بمراجعات لإعداداتك حتى تتمكّن من التراجع عن إعداد في حال حدوث خطأ. تتم تلقائيًا زيادة مراجعة الخادم الوكيل لواجهة برمجة التطبيقات في كل مرة تستورد فيها خادمًا وكيلاً لواجهة برمجة التطبيقات باستخدام واجهة برمجة التطبيقات استيراد خادم وكيل لواجهة برمجة التطبيقات. إذا كنت لا تريد زيادة مراجعة خادم وكيل لواجهة برمجة التطبيقات، استخدِم واجهة برمجة التطبيقات تعديل مراجعة خادم وكيل لواجهة برمجة التطبيقات. إذا كنت تستخدم Maven للنشر، استخدِم الخيارَين clean أو update، كما هو موضّح في الـ Maven plugin readme.

على سبيل المثال، يمكنك استدعاء طريقة 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.
info

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

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 على true و delay على 0، يتم إلغاء نشر المراجعة الحالية فور نشر المراجعة الجديدة. تُعامَل القيم السالبة على أنّها 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 Object Notation (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: قائمة بنقاط نهاية الخادم الوكيل المسماة
  • Resources: قائمة بالموارد (JavaScript وPython وJava وXSLT) التي يمكن تنفيذها في هذا الخادم الوكيل لواجهة برمجة التطبيقات
  • 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