أنت تعرض مستندات 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" تم اختيار "نموذج".
- انقر على التالي.
- في صفحة "الأمان"، اختَر تمرير (بدون) للتفويض.
- انقر على التالي.
- انقر على التالي.
- في صفحة "الإنشاء"، تأكَّد من اختيار بيئة الاختبار. إشعار أن نوع الخادم الوكيل هو أهداف مستضافة.
- انقر على إنشاء ونشر. قد يستغرق اكتمال نشر الخادم الوكيل بضع لحظات.
- بعد نشر الخادم الوكيل بنجاح، انقر على عرض الخادم الوكيل hello-host-targets. في أسفل الصفحة.
- يمكنك استدعاء الخادم الوكيل لواجهة برمجة التطبيقات. أسهل طريقة لإجراء ذلك هي الانتقال إلى Trace.
علامة تبويب، بدء تتبُّع
وانقر على إرسال. من المفترض أن تحصل على الحالة 200 مع ما يلي:
الرد:
{"date":"2018-09-26T14:23:04.550Z","msg":"Hello, World!"}
فحص الخادم الوكيل
- في واجهة مستخدم Edge، انقر على علامة التبويب Develop (تطوير).
- في المستكشف، اختَر تلقائي ضمن نقاط النهاية المستهدفة.
- في أداة تعديل الرموز، لاحِظ أنّ هناك علامة
<HostedTarget/>
فرعية فارغة. ضمن العنصر<TargetEndpoint>
. هذه العلامة الفارغة مطلوبة. فهو يخبر Edge بأن هدف الخادم الوكيل هو تطبيق تم نشره على بيئة الأهداف المستضافة. - في المستكشف، لاحظ المحتوى ضمن قسم النصوص البرمجية. تشير رسالة الأشكال البيانية
يتم إدراج ملفات تطبيق 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 باستخدام الأمر deployHosttarget:
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/host ونقل محتوى 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!