أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
إلغاء نشر خادم وكيل Hosted Targets
عند إيقاف نشر وكيل Edge يتضمّن تطبيق Hosted Targets، يتم إيقاف نشر تطبيق Hosted Targets المرتبط، ولكن لا يتم حذف صورة التطبيق الأساسية. في حال إعادة نشر الوكيل، سيتم إعادة نشر تطبيق "الاستهداف المستضاف".
حذف خادم وكيل لأهداف مستضافة
بعد حذف وكيل Hosted Targets، ستتوقف مثيلات وقت التشغيل الأساسية عن العمل في غضون فترة زمنية معيّنة. ومع ذلك، سيظل الرمز البرمجي للتطبيق متوفّرًا.
الوصول إلى ملفات السجلّ
تفيد ملفات السجلّ في تصحيح الأخطاء وتحديد المشاكل وحلّها. يمكنك الاطّلاع على نوعَين من ملفات السجلّ لعملية نشر "الاستهداف المستضاف":
- سجلّ الإنشاء: يعرض هذا السجلّ الناتج المرتبط بنشر تطبيق Hosted Targets وإنشائه.
- سجلّ وقت التشغيل: يعرض هذا السجلّ الناتج المرتبط بتطبيق Hosted Targets قيد التشغيل. ويتم تحديد نطاق سجلّات وقت التشغيل حسب البيئة، كما يعرض معلومات السجلّ الخاصة بمراجعة الخادم الوكيل المنشورة حاليًا.
الوصول إلى السجلّات من واجهة مستخدم Edge
- انتقِل إلى: apigee.com/edge
- أدخِل بيانات تسجيل الدخول وانقر على تسجيل الدخول.
- انقر على تطوير > خوادم وكيل API في قائمة التنقل الجانبية.
- اختَر الخادم الوكيل الذي تريد عرض سجلّاته.
- انقر على علامة التبويب تطوير.
- للاطّلاع على سجلّ الإنشاء، انقر على سجلّات الإنشاء.
- للاطّلاع على سجلّ وقت التشغيل، انقر على سجلّات وقت التشغيل.
الوصول إلى السجلّات باستخدام واجهة برمجة التطبيقات
يمكنك أيضًا استخدام Edge API لاسترداد سجلات "الاستهداف المستضاف". لمزيد من التفاصيل، يُرجى الاطّلاع على الحصول على سجلّات Node.js المخزّنة مؤقتًا.
استخدام مستودع npm خاص
يوضّح هذا القسم كيفية نشر وكيل Node.js إلى Hosted Targets في الحالات التي تستخدم فيها مستودع NPM خاصًا في بيئة التطوير.
معلومات مُهمّة حول استخدام مستودع خاص
عند نشر تطبيق Node.js على Edge، يتم تلقائيًا استيراد جميع التبعيات الخاصة بمشروعك كجزء من عملية النشر.
في الأساس، تنفّذ خدمة Hosted Targets npm install على الرمز البرمجي عند نشره.
ومع ذلك، إذا كنت تستخدم مستودع NPM خاصًا في بيئة التطوير، لا يمكن حل التبعيات الخاصة في السحابة الإلكترونية. في هذه الحالة، الحلّ هو استخدام الخيار --bundled-dependencies عند استخدام أداة النشر apigeetool. راجِع أيضًا
نشر Node.js من نظامك إلى Edge.
عند استخدام العلامة --bundled-dependencies في apigeetool، سيتم تحميل تطبيق Node.js إلى "الاستهداف المستضاف"، وسيتم ضغط أي ملفات محلية أو خاصة مُدرَجة في bundledDependencies array في package.json وتحميلها مع الحزمة.
على الرغم من أنّ هذه الحالة ليست شائعة، يجب الانتباه إلى أنّه في حال إنشاء نسخة طبق الأصل من مستودع NPM عام داخليًا، سيتعذّر نشر تطبيقك إذا كانت حزمة النشر تتضمّن ملف .npmrc أو package-lock.json يشير إلى النسخة الداخلية. في هذه الحالة، احرص على حذف .npmrc أو package-lock.json
من حزمة الخادم الوكيل التي تريد نشرها.
النشر باستخدام مستودع NPM خاص
لاستخدام الوحدات المقدَّمة من مستودع NPM خاص، اتّبِع الخطوات التالية:
- سجِّل الدخول إلى npm:
npm login
- احصل على رمز مصادقة npm:
- ابحث عن ملف .npmrc (يجب أن يكون في ~/.npmrc).
- في ملف .npmrc، سجِّل الرمز المميز في نهاية السطر الذي يبدو على النحو التالي:
//registry.npmjs.org/:_authToken=**** - أو استخدِم أوامر
npm token <list | create | revoke>لإدراج رمز مميّز للمصادقة أو إنشائه أو إبطاله. لمزيد من التفاصيل، يُرجى الاطّلاع على مستندات npm-token. - يمكنك الوصول إلى صفحة إعدادات "خرائط المفتاح والقيمة"، كما هو موضّح أدناه.
Edge
للوصول إلى صفحة إعدادات "خرائط قيم المفاتيح" باستخدام واجهة مستخدم Edge، اتّبِع الخطوات التالية:
- سجِّل الدخول إلى apigee.com/edge.
- انقر على المشرف > البيئات > خرائط القيم الرئيسية في شريط التنقّل الأيمن.
Classic Edge (Private Cloud)
للوصول إلى صفحة إعدادات "خرائط القيم الرئيسية" باستخدام واجهة مستخدم Classic Edge، اتّبِع الخطوات التالية:
- سجِّل الدخول إلى
http://ms-ip:9000، حيث ms-ip هو عنوان IP أو اسم نظام أسماء النطاقات لعقدة خادم الإدارة. - في شريط التنقّل العلوي، اختَر واجهات برمجة التطبيقات > إعدادات البيئة > خرائط قيم المفاتيح.
- انقر على + خريطة قيم المفاتيح.
- في مربّع الحوار "خريطة قيم المفاتيح الجديدة"، أدخِل اسمًا واختَر مشفرة.
- انقر على إضافة.
- أضِف رمز المصادقة الذي عثرت عليه أو أنشأته سابقًا كإدخال جديد في كل من KVM التي أنشأتها للتو.
- في ملف app.yaml، أضِف إدخالاً يشير إلى KVM والمفتاح المرتبطين برمز مصادقة npm. من المفترض أن تظهر بشكلٍ مشابه لما يلي:
- تتطابق سمة الاسم ذات المستوى الأعلى مع اسم متغيّر البيئة الذي سيتم إنشاؤه.
- يتوافق الاسم ضمن valueRef مع KVM الذي أنشأته سابقًا.
- تتطابق سمة المفتاح مع المفتاح الذي يتم ربطه برمز npm المميز الذي أضفته إلى KVM.
- أنشئ ملف .npmrc في الدليل نفسه الذي يحتوي على ملف package.json. يجب أن يبدو هذا الملف على النحو التالي:
أو إذا كنت لا تستخدم//registry.npmjs.org/:_authToken=${NPM_TOKEN}registry.npmjs.org، يمكنك ضبط النطاق في ملف .npmrc عن طريق إضافة سطر مثل هذا@myscope:registry=https://mycustomregistry.example.orgيمكنك أيضًا الاطّلاع على مستندات npmrc. - حمِّل أو عدِّل خادم وكيل Node.js باستخدام ملفَي .npmrc وapp.yaml المضمّنين.
- تأكَّد من أنّ الوكيل الجديد أو المعدَّل يتم نشره ويعمل مع وحدة المستودع الخاص المطلوبة.
- إذا لم يتم نشر الخادم الوكيل، راجِع سجلّات الإنشاء لمعرفة ما إذا تعذّر تثبيت وحدة npm الخاصة. في هذه الحالة:
- ضمن علامة التبويب "تطوير"، تأكَّد من توفّر الملف .npmrc.
- تأكَّد من أنّ الرمز المميّز صالح (جرِّب تثبيت الوحدة محليًا مع توفّر الرمز المميّز في kvm).
- إذا كنت تستخدم نطاقًا مخصّصًا، تأكَّد من ضبطه.
env:
- name: NPM_TOKEN
valueRef:
name: npm_store
key: private_tokenالمكان:
تحديد إصدار NPM للتبعيات المجمّعة
يتم تلقائيًا استخدام الإصدار 4 من NPM لتثبيت التبعيات المجمّعة في بيئة Hosted Targets.
ومع ذلك، إذا كنت تريد استخدام إصدار مختلف من NPM، يمكنك تحديده في متغيّر البيئة NPM_VERSION. يمكنك ضبط هذا المتغيّر في ملف بيان التطبيق. لمزيد من التفاصيل، راجِع عناصر ملف البيان.
في حال استخدام التبعيات المجمّعة وعدم تحديد NPM_VERSION، تستخدم خدمة Hosted Targets الإصدار 4 من NPM تلقائيًا. في حال عدم استخدام التبعيات المجمّعة، سيتم استخدام إصدار NPM المضمّن في وقت تشغيل Node.js الذي حدّدته.
مثال على التبعيات المجمّعة
للاطّلاع على مثال يوضّح ميزة التبعيات المجمّعة مع "الاستهداف المستضاف"، راجِع كيفية إنشاء تطبيق Node.js باستخدام "الوظائف المستضافة" من خلال وحدات مخصّصة.إضافة نقطة نهاية لفحص السلامة
يمكنك تنفيذ نقطة نهاية للتحقّق من الصحة لتطبيق Node.js. تستخدم Apigee نقطة النهاية هذه عندما يبدأ تطبيق Node.js في التحقّق من أنّ التطبيق يعمل في الحاوية.
تلقائيًا، تكون نقطة النهاية التي تتوقّعها Apigee هي /health. يمكنك تغيير نقطة النهاية التلقائية، من خلال تحديد نقطة النهاية في متغيّر بيئة باسم HOSTED_TARGET_HEALTH_CHECK_PATH. يمكنك ضبط هذا المتغيّر في ملف بيان التطبيق. لمزيد من التفاصيل، راجِع عناصر ملف البيان.
ليس من الضروري تنفيذ نقطة نهاية لفحص السلامة. ومع ذلك، إذا كنت ستنفّذ نقطة نهاية لفحص الحالة، يُرجى مراعاة ما يلي:
- إذا خرج تطبيقك عند وصول Apigee إلى نقطة النهاية، لن يبدأ التطبيق على النحو المتوقّع.
- لا بأس إذا كانت نقطة النهاية تعرض رمز حالة HTTP 404 Not Found. يُستخدم الرمز
/healthأوHOSTED_TARGET_HEALTH_CHECK_PATHفقط للتحقّق مما إذا كان تطبيقك قيد التشغيل. يتم تجاهل الرد الفعلي.
تغيير موقع ذاكرة التخزين المؤقت في NPM
تستخدم الإصدارات الأحدث من Node.js إصدارًا من NPM يستخدِم /root/.npm لذاكرة التخزين المؤقت لـ NPM.
يمثّل هذا الموقع الجغرافي مشكلة بالنسبة إلى Hosted Targets لأنّ موقع الدليل هذا للقراءة فقط
بما أنّ وقت تشغيل Hosted Target يستخدم نظام ملفات tmpfs حيث يكون /tmp قابلاً للكتابة فقط.
لحلّ هذه المشكلة، يمكنك ضبط متغيّر البيئة npm_config_cache في ملف app.yaml (ملف البيان) الخاص بتطبيقك على دليل ضمن /tmp. على سبيل المثال:
runtime: node
application: my-express-app
env:
- name: npm_config_cache
value: /tmp/.npm
- name: NODE_ENV
value: production
- name: LOG_LEVEL
value: 3
تشغيل تطبيقك بدون NPM
تستخدم خدمة Hosted Targets تلقائيًا npm start لتشغيل تطبيق Hosted Target. ولكن
في المهمة السابقة، ناقشنا مشكلة في استخدام NPM لأنّ الإصدارات الأحدث ستحاول استخدام
/root/.npm لذاكرة التخزين المؤقت لـ NPM، وهي ذاكرة غير قابلة للكتابة وتؤدي إلى تعذُّر بدء تشغيل Hosted Target. على الرغم من أنّ المهمة السابقة ستعمل على حلّ هذه المشكلة، يمكنك أيضًا تشغيل تطبيقك بدون NPM. لإجراء ذلك، يمكنك استخدام القيمتين command وargs في ملف app.yaml الخاص بتطبيقك (ملف البيان) لتشغيل Hosted Target مباشرةً باستخدام node index.js. على سبيل المثال:
runtime: node
application: my-express-app
command: node
args:
- index.js
env:
- name: NODE_ENV
value: production
- name: LOG_LEVEL
value: 3
node index.js هو مجرد مثال.