أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلىمستندات Apigee X. info
حدود متغيرات البيئة
تحدّ "الأهداف المستضافة" من حجم وعدد متغيرات البيئة التي يمكنك ضبطها في بيئة وقت تشغيل "الأهداف المستضافة".
- 1000: الحد الأقصى لطول متغيّر بيئة واحد
- 100: الحد الأقصى لعدد متغيرات البيئة التي يمكنك ضبطها
لمعرفة معلومات عن ضبط متغيرات البيئة، يُرجى الاطّلاع على ملف البيان.
متغيرات البيئة التي تم ضبطها في وقت تشغيل التطبيق
عند نشر تطبيق "الأهداف المستضافة"، يتم ضبط متغيرات البيئة التالية و تكون متاحة لتطبيقك في وقت التشغيل:
APIGEE_ENVIRONMENT: البيئة التي يتم فيها نشر الخادم الوكيل لـ "الأهداف المستضافة"APIGEE_ORGANIZATION: المؤسسة التي يتم فيها نشر الخادم الوكيل لـ "الأهداف المستضافة"PORT: المنفذ الذي يجب أن يستمع إليه تطبيق "الأهداف المستضافة"
تخصيص موارد النظام
تحصل كلّ مثيل من "الأهداف المستضافة" على الموارد التالية:
- ذاكرة بسعة 256 ميغابايت
- وحدة معالجة مركزية (CPU) بسرعة 1.2 غيغاهرتز
التدرّج
يوضّح هذا القسم كيفية تدرّج تطبيقات "الأهداف المستضافة"، حسب نوع حساب Edge الذي لديك.- يقتصر الإصدار التجريبي من Apigee Edge على مثيل واحد من "الأهداف المستضافة" لكل خادم وكيل.
- تحصل حسابات Apigee Edge المدفوعة على تدرّج تلقائي استنادًا إلى معدّل الطلبات ومدة استجابة الطلبات،
ومقاييس التطبيق الأخرى لكل خادم وكيل.
- تتدرّج تطبيقات "الأهداف المستضافة" المنشورة على كلّ من الإصدارَين المدفوع والتجريبي من Apigee Edge إلى صفر خلال فترات عدم النشاط. في هذه الحالة، قد تلاحظ بطئًا في أوقات الاستجابة لفترة قصيرة. يُرجى الاطّلاع أيضًا على المشاكل المعروفة
ملف البيان
لجمع معلومات وقت التشغيل لإنشاء التطبيق المستضاف ونشره، يبحث Edge عن ملف بيان باسم app.yaml في الدليل resources/hosted. يحتوي هذا الملف على المعلومات اللازمة لإنشاء تطبيق "الأهداف المستضافة" ونشره.
بنية ملف البيان
runtime: node runtimeVersion: version_number command: command_name args: argument_array env: - name: variable_name value: literal_value - name: variable_name valueRef: name: kvm_name key: kvm_value
عناصر ملف البيان
يتضمّن ملف بيان app.yaml هذه العناصر:
- runtime : (مطلوب) يحدّد نوع التطبيق الذي تنشره.
يجب تحديد
node. - runtimeVersion : (اختياري) إصدار وقت التشغيل الذي يستخدمه تطبيقك الإعداد التلقائي: Node.js LTS (الإصدار 10.x) يُرجى الرجوع إلى الـ مستودع الرسمي لـ Docker من أجل Node للاطّلاع على خيارات أخرى.
- command : (اختياري) يتيح لك تحديد أمر لتشغيله بدلاً من الأمر التلقائي المستخدَم لبدء تطبيقك. الإعداد التلقائي:
Node.js=npm - args : (اختياري) مصفوفة من وسيطات سطر الأوامر التي يتم تمريرها إلى الـ
تطبيق (المحدّدة بتنسيق مصفوفة YAML العادي) تتم عادةً إضافة هذه الوسيطات إلى الأمر التلقائي.
الإعداد التلقائي هو start. على سبيل المثال، سيتم تلقائيًا تمرير الأمر إلى تطبيق Node.js
npm start. - env : (اختياري) مصفوفة من متغيرات البيئة (أزواج الاسم/القيمة) التي يتم ضبطها في بيئة وقت تشغيل "الأهداف المستضافة" تكون هذه المتغيرات متاحة لتطبيق "الأهداف المستضافة" الذي نشرته.
- name : اسم المتغيّر
- value | valueRef : لديك خياران. يمكنك ضبط قيمة حرفية
أو الإشارة إلى قيمة مخزّنة في خريطة قيم المفاتيح. يجب أن تكون خريطة قيم المفاتيح متوفّرة مسبقًا في بيئة Edge. يُرجى الاطّلاع على مقالة استخدام خرائط قيم المفاتيح
- إذا كنت تستخدم value، عليك تحديد
متغيّر
nameوvalueحرفية. على سبيل المثال:runtime: node env: - name: NODE_ENV value: production - إذا كنت تستخدم valueRef، فعليك تقديم اسم خريطة قيم المفاتيح (KVM) التي أنشأتها سابقًا في Edge ومفتاح.
على سبيل المثال:
runtime: node env: - name: DB_ENV value: production - name: DB_PASSWORD valueRef: name: hosted-kvm key: db-password
- إذا كنت تستخدم value، عليك تحديد
متغيّر
- apigeetool: أداة سطر أوامر لنشر خوادم Edge الوكيلة
- get_token: أداة سطر أوامر للحصول على رمز تفويض مطلوب من apigeetool
- في المتصفّح، انتقِل إلى https://github.com/apigee/api-platform-samples.
- انقر على Clone or download واسحب المستودع إلى نظامك المحلي باستخدام الطريقة المفضّلة لديك.
- انتقِل إلى <your install dir>/api-platform-samples/doc-samples/hosted-targets باستخدام الأمر cd.
- بعد تنزيل المستودع، يمكنك الانتقال إلى أيّ من أدلة النماذج واتّباع تعليمات ملف README لنشر خادم وكيل نموذجي على Edge. يظهر أدناه أمر النشر. ما عليك سوى استبدال المَعلمات المحدّدة بمَعلمات حسابك على Apigee:
- مدد استجابة الشبكة : بما أنّ تطبيق Node.js لم يعُد يعمل في جهاز JVM الخاص بمعالج الرسائل، أصبح هناك الآن انتقال عبر الشبكة بين معالج الرسائل وعملية النشر. بالطبع، يترتّب على ذلك تكلفة، ولكن تشير المؤشرات الأولية إلى أنّها ضمن مبلغ معقول.
- بطء استجابات واجهة برمجة التطبيقات : يتم تلقائيًا تدرّج البنية الأساسية التي تشغّل تطبيقاتك استنادًا إلى الحاجة. يعني ذلك أنّه يمكن تدرّج تطبيقك إلى صفر مثيل، وفي هذه الحالة، سيستغرق طلب واجهة برمجة التطبيقات التالي وقتًا أطول قليلاً من طلبات واجهة برمجة التطبيقات العادية لأنّ البنية الأساسية تعمل على تشغيل المثيلَين أو المثيل لتنفيذ الطلبَين أو الطلب.
- خطأ في النشر : إذا ظهر لك خطأ في النشر عند نشر خادم وكيل لـ "الأهداف المستضافة"، حاوِل إعادة نشر الخادم الوكيل. في بعض الحالات، قد تنتهي مهلة النشر وإذا أعدت النشر، سيتم حلّ المشكلة تلقائيًا.
أمثلة على ملفات البيان
يحتوي هذا القسم على أمثلة على ملفات البيان لتطبيقات Node.js
تطبيقات. يجب توفّر ملف بيان لنشر تطبيق "الأهداف المستضافة"، ويجب أن يكون في الدليل apiproxy/resources/hosted، ويجب أن يكون اسم الملف app.yaml.
في ما يلي أمثلة على ملفات app.yaml (البيان) لتطبيقات Node.js.
مثال يحدّد متغيّر بيئة حرفيًا:
runtime: node
env:
- name: NODE_ENV
value: productionمثال يتضمّن أمر بدء ووسيطات سطر الأوامر ومتغيّر بيئة
runtime: node
command: ./node_modules/pm2/bin/pm2
env:
- name: NODE_ENV
value: production
args:
- app.js
مثال يحدّد مرجعًا لخريطة قيم المفاتيح (KVM):
لمزيد من المعلومات عن الوصول إلى خريطة قيم المفاتيح، يُرجى الاطّلاع على ملف البيان.
runtime: node env: - name: DB_ENV value: production - name: DB_PASSWORD valueRef: name: hosted-kvm key: db-password
أمثلة على تطبيقات "الأهداف المستضافة" على GitHub
توفر Apigee نماذج للخوادم الوكيلة على GitHub تتضمن تطبيقات "الأهداف المستضافة" مكتوبة بلغة Node.js. يمكنك إنشاء نسخة طبق الأصل من هذا المستودع واتّباع تعليمات ملف README لنشر أيّ من الخوادم الوكيلة.
المتطلبات الأساسية
لنشر النماذج، يجب تثبيت أداتَين على نظامك:
إذا أردت اختبار النماذج محليًا، يجب أيضًا تثبيت Node.js.
الحصول على مستودع النماذج
get_token && apigeetool deployproxy \ -o YOUR_ORGANIZATION \ -e YOUR_ENVIRONMENT \ --json \ --token "$(< ~/.sso-cli/valid_token.dat)"\ --api NAME_OF_THE_PROXY \ --directory .
مثال: تنفيذ تطبيق نموذجي
إنشاء نسخة طبق الأصل من مستودع النماذج
cd ~/myhomegit clone https://github.com/apigee/api-platform-samples.gitcd ~/myhome/api-platform-samples/doc-samples/hosted-targetscd node-hosted-hello
اختبار التطبيق محليًا
يجب تثبيت Node.js لإجراء هذا الاختبار المحلي.
PORT=8081 node apiproxy/resources/hosted/index.jscurl http://localhost:8081
مثال على الناتج:
{"date":"2018-03-12T21:45:22.161Z","msg":"Hello, World!"}نشر الخادم الوكيل
get_token && apigeetool deployproxy \ -o myorg \ -e test \ --json \ --token "$(< ~/.sso-cli/valid_token.dat)"\ --api node-hosted-hello \ --directory .
اختبار عملية النشر
قد يستغرق إكمال عملية النشر بضع دقائق. إذا ظهر لك خطأ في النشر، نفِّذ أمر النشر مرة أخرى.
curl http://myorg-test.apigee.net/node-hosted-hello
مثال على الناتج:
{"date":"2018-03-23T18:59:18.668Z","msg":"Hello, World!"