أنت تطّلع على مستندات Apigee Edge.
انتقِل إلى مستندات
Apigee X. المعلومات
توضِّح الأدلة التعليمية التالية كيفية نشر تطبيقات Node.js على Edge باستخدام الاستهدافات المستضافة، وهي بيئة تشغيل أصلية لـ Node.js تستضيفها Apigee.
تتناول البرامج التعليمية المهام التالية:
- نشر تطبيق Node.js على "استهدافات المستضافة" باستخدام واجهة مستخدم Edge
- نشر تطبيق Node.js في "الأهداف المستضافة" من جهاز التطوير المحلي
- نقل خادم وكيل حالي من خلال تنفيذ هدف Node.js التقليدي على Edge إلى الأهداف المستضافة.
نشر تطبيق Node.js على "استهدافات مستضافة" باستخدام واجهة مستخدم Edge
في هذا الدليل التعليمي، ستنشر تطبيق Node.js بسيط إلى الأهداف المستضافة باستخدام واجهة مستخدم Edge. عند إكمال البرنامج التعليمي، ستفهم البنية الأساسية ومحتوى الخادم الوكيل "استهدافات مستضافة" وكيفية الوصول إلى ملفات سجلّات النشر والإنشاء.
تسجيل الدخول
- انتقِل إلى apigee.com/edge.
- أدخِل بيانات اعتماد تسجيل الدخول إلى Apigee لتسجيل الدخول.
إنشاء خادم وكيل جديد
- في قائمة التنقّل الجانبية، اختَر تطوير > أدوات الربط بواجهة برمجة التطبيقات.
- انقر على + خادم وكيل.
- في صفحة "إنشاء خادم وكيل"، اختَر الهدف المستضاف.
- انقر على التالي.
- في حقل "اسم الخادم الوكيل"، أدخِل
hello-hosted-targets
. - تأكَّد من اختيار عيّنة "Hello World".
- انقر على التالي.
- في صفحة "الأمان"، اختَر المرور بدون فحص (بدون) للتفويض.
- انقر على التالي.
- انقر على التالي.
- في صفحة "الإصدار"، تأكَّد من اختيار بيئة الاختبار. يُرجى ملاحظة أنّ نوع الخادم الوكيل هو الاستهدافات المستضافة.
- انقر على إنشاء ونشر. قد يستغرق اكتمال نشر الخادم الوكيل بضع لحظات.
- بعد نشر الخادم الوكيل بنجاح، انقر على عرض الخادم الوكيل للاستهدافات المستضافة في أسفل الصفحة.
- يمكنك استدعاء الخادم الوكيل لواجهة برمجة التطبيقات. أسهل طريقة لإجراء ذلك هي الانتقال إلى علامة التبويب تتبُّع
وبدء جلسة تتبُّع، ثم النقر على إرسال. من المفترض أن تتلقّى حالة 200 مع الردّ التالي:
{"date":"2018-09-26T14:23:04.550Z","msg":"Hello, World!"}
فحص الخادم الوكيل
- في واجهة مستخدم Edge، انقر على علامة التبويب تطوير.
- في "المستكشف"، اختَر تلقائي ضمن "نقاط النهاية المستهدَفة".
- في محرِّر الرموز البرمجية، لاحظ أنّ هناك عنصرًا فارغًا
<HostedTarget/>
تابعًا للعنصر<TargetEndpoint>
. هذه العلامة الفارغة مطلوبة. ويُعلم Edge بأنّ هدف الخادم الوكيل هو تطبيق تم نشره في بيئة Hosted Targets. - في "المخطّط"، لاحظ المحتوى ضمن قسم النصوص البرمجية. ويتم إدراج ملفات تطبيق Node.js ضمن التصنيف مستضاف.
- في واجهة مستخدم Edge، راجِع الملفات المدرَجة ضمن مستضافة في النصوص البرمجية:
- يحتوي ملف app.yaml على معلومات الإعداد. على سبيل المثال، يمكنك إضافة متغيّرات بيئة ستكون متاحة لتطبيق Node.js عند التشغيل. لست بحاجة إلى تعديل هذا الملف لاستخدامه في هذا المثال.
- ويمثّل ملف index.js الملف الرئيسي لتطبيق Node.js.
- إذا كان تطبيقك يحتوي على أي تبعيات للوحدات، يجب إدراجها في package.json.
عرض ملفات السجلّ
يمكن أن تكون ملفات سجلّ التطبيق مفيدة في تصحيح المشاكل التي تحدث خلال مرحلة الإصدار وأيضًا في وقت التشغيل.
- في واجهة مستخدم Edge، انقر على علامة التبويب Develop (تطوير).
- للاطّلاع على سجلّ الإنشاء، انقر على سجلّات الإنشاء.
- للاطّلاع على سجلّ النشر، انقر على سجلّات وقت التشغيل.
يُرجى الاطّلاع أيضًا على الوصول إلى ملفات السجلّ.
ملخّص
- ونشرت تطبيق Node.js بسيطًا على بيئة الأهداف المستضافة واختبرته في واجهة مستخدم Edge.
- لقد علمت أنّ خادم وكيل الأهداف المستضافة يتطلب علامة فارغة خاصة في نقطة النهاية
المستهدفة تُسمى
<HostedTarget/>
. - لقد تعرّفت على أنّ Edge يحمّل تبعيات الوحدة تلقائيًا، ويجب إدراج هذه الملحقات
في ملف
package.json
. - وتعلّمت أيضًا كيفية التحقّق من ملفات سجلّ الإصدار والتشغيل.
نشر Node.js من نظامك إلى Edge
يشرح هذا القسم كيفية نشر تطبيق Node.js مستقل من نظامك المحلي إلى الاستهدافات المستضافة باستخدام apigeetool. تجمع الأداة apigeetool
تطبيق Node.js في خادم وكيل جديد مخصّص للاستهداف المستضاف وتنشره على Edge.
تثبيت apigeetool
يُنصح المطوّرون باستخدام apigeetool لنشر رمز الوكيل في Edge. لتثبيت apigeetool، شغِّل أمر NPM التالي:
npm install -g apigeetool
إنشاء تطبيق Node.js
ولتسهيل الأمر، يتم توفير رمز لتطبيق Node.js بسيط لك.
- أنشئ دليلاً لتطبيق Node.js. اضبط اسم الدليل على node-hosted-express.
- اكتب cd للانتقال إلى الدليل الجديد.
- أنشئ ملفًا باسم index.js وانسخ هذا الرمز البرمجي فيه.
- أنشئ ملفًا باسم package.json وانسخ هذا الرمز البرمجي فيه. يُرجى ملاحظة أنّه تم إدراج وحدة Express كعنصر تابع.
- أنشئ ملفًا باسم app.yaml وانسخ هذا الرمز البرمجي فيه:
- تأكَّد من أنّ الدليل يظهر على النحو التالي:
ls app.yaml index.js package.json
var express = require('express') var app = express() app.get('/', function(req, res) { res.json({ hello: "Hello World!" }) }) app.get('/hello/:name', function(req, res) { var name = req.params.name res.json({ hello: "hello " + name }) }) var server = app.listen(process.env.PORT || 9000, function() { console.log('Listening on port %d', server.address().port) })
{ "name": "hello-world", "version": "1.0.0", "main": "index.js", "scripts": { "start": "node index.js --use_strict" }, "author": "", "license": "", "dependencies": { "express": "^4.16.0" } }
runtime: node runtimeVersion: 8 application: my-express-app env: - name: NODE_ENV value: production - name: LOG_LEVEL value: 3
مراجعة بنية الدليل المطلوبة لرمز التطبيق
يجب أن يتضمّن تطبيقك المستنِد إلى Node.js
البنية نفسها المستخدَمة في تطبيق Node.js العادي. ومع ذلك، تأكَّد من اتّباع
هذه المتطلبات قبل نشر التطبيق باستخدام apigeetool
على Edge:
- ملف البيان app.yaml مطلوب ويجب أن يكون في الدليل الجذر لتطبيقك. للاطّلاع على مزيد من المعلومات عن هذا الملف، اطّلِع على ملف البيان.
- يجب توفّر ملف package.json. يجب أن يسرد هذا الملف أي تبعيات يحتاج إليها تطبيقك.
- ليس مطلوبًا توفُّر مجلد node_modules. يُشغِّل Edge npm install نيابةً عنك عند نشر تطبيق Node.js. ويحصل على الاعتماديات من package.json. إنّ الحالة الوحيدة التي تحتاج فيها إلى تحديدnode_modules بوضوح هي إذا كانت لديك وحدات مخصّصة غير متاحة من خلال npm.
نشر الخادم الوكيل
- في الوحدة الطرفية، أدخِل cd في الدليل الجذري لتطبيق Node.js.
- نفِّذ apigeetool باستخدام الأمر deployhostedtarget:
apigeetool deployhostedtarget -o org -e env -n proxy-name -b /node-hosted-express -u username
حيث يكون -n هو الاسم الذي تريد منحه للخادم الوكيل الجديد. ويجب أن يكون فريدًا
داخل المؤسسة. تقتصر الأحرف المسموح لك باستخدامها في الاسم على
ما يلي: a-z0-9._\-$%
على سبيل المثال:
apigeetool deployhostedtarget -o myorg -e test -n node-hosted-express -b /node-hosted-express -u jdoe@apigee.com
لمزيد من المعلومات حول استخدام apigeetool، اطّلِع على https://github.com/apigee/apigeetool-node.
اختبار الخادم الوكيل
يمكنك اختبار الخادم الوكيل باستخدام أمر cURL أو باستخدام برنامج عملاء REST مثل Postman أو في واجهة مستخدم Edge في أداة التتبّع. وفي ما يلي مثال على أمر cURL.
curl http://myorg-test.apigee.net/node-hosted-express {"date":1506992197427,"msg":"hello-world"}
الحصول على سجلات الإنشاء
تعرض لك سجلات الإنشاء النتائج ذات الصلة بنشر تطبيق Node.js وإنشائه. راجِع أيضًا ملفات السجلّ.
apigeetool getlogs -u username -o org -e env --hosted-build -n proxy-name
على سبيل المثال:
apigeetool getlogs -u jdoe@apigee.com -o myorg -e test --hosted-build -n node-hosted-express
الحصول على سجلات بيئة التشغيل
تعرِض سجلّات وقت التشغيل النتائج ذات الصلة بالتطبيق الذي يتم تشغيله. ويكون نطاق سجلّات وقت التشغيل هو البيئة وسجلّات الإرجاع لمراجعة الخادم الوكيل المنشورة حاليًا. راجِع أيضًا ملفات السجلّ.
apigeetool getlogs -u username -o org -e env --hosted-runtime -n proxy-name
على سبيل المثال:
apigeetool getlogs -u jdoe@apigee.com -o myorg -e test --hosted-runtime -n node-hosted-express
عرض الخادم الوكيل في واجهة مستخدم Edge
بعد عملية نشر ناجحة، يمكنك عرض الخادم الوكيل وتعديله في جزء "خوادم الوكيل لواجهة برمجة التطبيقات" من واجهة مستخدم Edge.
نقل خادم وكيل Node.js حالي إلى خادم وكيل "استهدافات مستضافة"
يوضّح هذا القسم كيفية نقل وكيل حالي لواجهة برمجة التطبيقات Edge API يستخدم تنفيذ الاستهداف باستخدام Node.js التقليدي يدويًا إلى الاستهدافات المستضافة. ويوضّح أيضًا كيفية نشر الخادم الوكيل بعد تنفيذ خطوات نقل البيانات.
تحافظ خطوات نقل البيانات على بنية الخادم الوكيل لواجهة برمجة التطبيقات والسياسات والمسارات وعناصر الضبط الأخرى. يمكنك تنفيذ عملية نقل البيانات في أربع خطوات، كما هو موضّح أدناه، ثم نشر الخادم الوكيل المنقول باستخدام apigeetool.
الخطوة 1: ضبط بنية ملف الخادم الوكيل
لتعديل بنية الملف، يجب أن يكون الوكيل لواجهة برمجة التطبيقات على نظام الملفات على الجهاز. في حال نشر الخادم الوكيل على Edge، عليك تنزيله
قبل المتابعة. في الإعدادات التقليدية، تتبع "حزمة" خادم وكيل Edge التي تتضمن رمز Node.js بنية الملف هذه.
يمكنك وضع رمز تطبيق Node.js في الدليل resources/node
:
apiproxy/ policies/ proxies/ targets/ resources/ node/ Your application code
بالنسبة إلى "الاستهدافات المستضافة"، يجب وضع الدليل الجذر لتطبيق Node.js ضمن دليل
باسم resources/hosted
. ما عليك سوى إنشاء دليل جديد باسم
resources/Hosted ونقل محتوى resources/node
إليه. وبعد ذلك، يمكنك حذف الدليل resources/node
.
apiproxy/ policies/ proxies/ targets/ resources/ hosted/ Your application code
الخطوة 2: إضافة ملف البيان
أنشِئ ملف بيان باسم app.yaml
ووضعه في دليل
apiproxy/resources/hosted
.
في ما يلي مثال على ملف app.yaml
. ويحدّد أنّ بيئة التشغيل هي
Node.js (مطلوبة). كما ينشئ متغير بيئة في بيئة التنفيذ (وهو متغير يمكن الوصول إليه عن طريق تطبيق Node.js). متغيّر البيئة اختياري
ولا يظهر هنا إلّا كمثال. للاطّلاع على المزيد من التفاصيل والأمثلة، يُرجى الانتقال إلى ملف البيان.
runtime: node env: - name: NODE_ENV value: production
يعرض المثال التالي بنية مشروع Node.js في الموقع الصحيح في
الوكيل لنشر "الاستهدافات المستضافة":
apiproxy/ resources/ hosted/ index.js node_modules/ app.yaml package.json
الخطوة 3: التأكد من توفُّر ملف package.json
في الخوادم الوكيلة التقليدية لـ Edge Node.js، كان الخيار package.json
اختياريًا. أمّا بالنسبة إلى الأهداف المستضافة، فيجب توفير هدف في دليل apiproxy/resources/hosted
. احرص على تحديد أي تبعيات مطلوبة لتطبيقك في هذا الملف.
الخطوة 4: تعديل نقطة النهاية المستهدَفة للخادم الوكيل
يتطلب الخادم الوكيل التقليدي Node.js وجود علامة تُسمى <ScriptTarget>
في ملف نقطة النهاية المستهدفة (عادةً /apiproxy/targets/default.xml
).
بالنسبة إلى الأهداف المستضافة، عليك إضافة علامة فارغة باسم <HostedTarget/>.
وإذا كانت هناك علامة ScriptTarget
في الملف، يمكنك إزالتها ببساطة.
على سبيل المثال:
<?xml version="1.0" encoding="UTF-8"?> <TargetEndpoint name="default"> <Description /> <FaultRules /> <PreFlow name="PreFlow"> <Request /> <Response /> </PreFlow> <PostFlow name="PostFlow"> <Request /> <Response /> </PostFlow> <Flows /> <HostedTarget /> </TargetEndpoint>
نشر الخادم الوكيل
يمكنك الآن نشر الخادم الوكيل باستخدام الأمر apigeetool deployproxy
.
- اكتب cd للانتقال إلى الدليل الجذر للخادم الوكيل: /apiproxy.
- استخدِم هذا الأمر لنشر الخادم الوكيل:
apigeetool deployproxy -u username -o org -e env -n proxy-name -d .
على سبيل المثال:
apigeetool deployproxy -u jdoe -o docs -e test -n hello-world -d .
لمزيد من المعلومات حول استخدام apigeetool
، اطّلِع على:
https://github.com/apigee/apigeetool-node/blob/master/README.md.
اختبار الخادم الوكيل
يمكنك اختبار الخادم الوكيل باستخدام أمر cURL أو باستخدام برنامج REST مثل Postman أو في واجهة مستخدم Edge في أداة التتبّع. في ما يلي مثال على أمر cURL:
curl http://myorg-test.apigee.net/hello-world Hello,World!