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

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

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

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

لا تفرض واجهة برمجة التطبيقات Edge API أيّ افتراضات حول 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" ]
}

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

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

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

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

مراجعة الخادم الوكيل لواجهة برمجة التطبيقات هي رقم متزايد مرتبط بخادم وكيل لواجهة برمجة التطبيقات التكوين. تحتفظ "خدمات واجهة برمجة التطبيقات" بنُسخ سابقة من الإعدادات التي ضبطتها، بحيث يمكنك إرجاع التهيئة عندما يحدث خطأ ما. يتم بشكل تلقائي مراجعة النسخة السابقة من خادم وكيل واجهة برمجة التطبيقات في كل مرة تستورد فيها خادمًا وكيلاً لواجهة برمجة التطبيقات باستخدام واجهة برمجة التطبيقات استيراد خادم وكيل لواجهة برمجة التطبيقات. إذا كنت إذا كنت لا تريد زيادة النسخة السابقة للخادم الوكيل لواجهة برمجة التطبيقات، استخدِم الزر تحديث واجهة برمجة التطبيقات لمراجعة خادم وكيل واجهة برمجة التطبيقات. إذا كنت تستخدم 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. ما مِن زيارات جديدة إلى المراجعة 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 على "صحيح" قيمة 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. الحافة. لا يمكنك تغيير هذه الإعدادات ما لم تكن تستخدم 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، وJava) المتاحة في الخادم الوكيل لواجهة برمجة التطبيقات هذا
  • TargetServers: قائمة بخوادم TargetServer المسماة (يمكن إنشاؤها باستخدام واجهة برمجة تطبيقات الإدارة)، المستخدمة في الإعدادات المتقدمة لأغراض موازنة التحميل
  • TargetEndpoints: قائمة بنقاط TargetEndpoints المسماة

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

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

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

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

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

أولاً، تأكَّد من أنّ أداة نشر 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