أنت تعرض مستندات Apigee Edge.
انتقل إلى
مستندات Apigee X. معلومات
يوضح هذا المثال كيفية استخدام Apigee Adapter for Envoy مع Apigee Edge.
المتطلبات الأساسية
قبل البدء: |
---|
|
نظرة عامة
يوضح هذا المثال كيفية استخدام Apigee Adapter for Envoy مع Apigee Edge for Public Cloud. واجهة برمجة التطبيقات تتدفق طلبات الخادم الوكيل من خلال Envoy الذي يتم تشغيله كتطبيق محلي مع توفير Edge لواجهة برمجة التطبيقات. خدمات إدارة المشروعات من خلال خدمة Apigee عن بُعد في Envoy.
توفير المتطلبات اللازمة في Apigee Edge
في هذه الخطوة، ستستخدم واجهة سطر الأوامر للخدمة عن بُعد لتوفير مهايئ Apigee لمواد عرض Envoy. إلى Apigee Edge. ينشر أمر توفير المتطلبات اللازمة خادم وكيل لواجهة برمجة التطبيقات في Apigee Edge، وأيضًا إعداد شهادة في إنشاء بيانات الاعتماد التي ستستخدمها الخدمة عن بُعد في بيئة منفصلة ربط جهازك بتطبيق Apigee
- الانتقال إلى الدليل
$CLI_HOME
:cd $CLI_HOME
- أنشئ متغيّرات البيئة التالية. سيتم استخدام هذه المتغيرات
المَعلمات للنص البرمجي لتوفير المتطلبات اللازمة:
export ORG=organization_name
export ENV=environment_name
export USER=your_apigee_username
export PASSWORD=your_apigee_password
المكان:
متغير الوصف organization_name اسم مؤسسة Apigee environment_name اسم البيئة في مؤسستك. your_apigee_username اسم المستخدم الخاص بحسابك على Apigee عادةً ما يكون اسم المستخدم هو عنوان بريد إلكتروني. your_apigee_password كلمة مرور Apigee - نفِّذ الأمر التالي لتوفير الخادم الوكيل للخدمة البعيدة على Apigee Edge:
في حال عدم الترقية، استخدِم هذا الأمر لإدارة Apigee:
$CLI_HOME/apigee-remote-service-cli provision --legacy --mfa $MFA \ --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml
في حال الترقية، استخدِم هذا الأمر مع العلامة
--force-proxy-install
لتوفير المتطلبات اللازمة في Apigee:$CLI_HOME/apigee-remote-service-cli provision --legacy --force-proxy-install --mfa $MFA \ --username $USER --password $PASSWORD --organization $ORG --environment $ENV > config.yaml
- تحقَّق من محتوى ملف
config.yaml
. من المفترض أن تظهر بشكلٍ مشابه لما يلي:# Configuration for apigee-remote-service-envoy (platform: SaaS) # generated by apigee-remote-service-cli provision on 2020-08-26 09:43:41 apiVersion: v1 kind: ConfigMap metadata: name: apigee-remote-service-envoy namespace: apigee data: config.yaml: | tenant: internal_api: https://istioservices.apigee.net/edgemicro remote_service_api: https://my-username-test.apigee.net/remote-service org_name: my-org env_name: my-env key: f7e09c32f827cab87b8ce43842ed8467ffd2c58e6f795241e38fe7b1aec7664 secret: 1cb5cca00dfb433cb80b32837451fce4bf694633cddbb73d704517e12b35e75 ...
يتم استخدام قيم المفتاح والقيم السرية للتحقق من صحة الطلبات من خادم وكيل الخدمة البعيد. إلى Apigee Edge.
تشغيل خدمة Apigee عن بُعد لخدمة Envoy
يمكنك تشغيل الخدمة عن بُعد إما كبرنامج ثنائي أصلي. أو على Docker.
تشغيل الخدمة محليًا
نفِّذ البرنامج الثنائي للخدمة باستخدام ملف الإعداد الذي تم إخراجه من خلال أمر توفير المتطلبات اللازمة:
$REMOTE_SERVICE_HOME/apigee-remote-service-envoy -c config_file_path/config.yaml
تشغيل الخدمة على Docker
يتم نشر صور Docker مع علامات الإصدار. لإجراء هذا التثبيت، استخدِم أحدث إصدار. هناك هي ثلاثة أشكال مختلفة من الصور للاختيار من بينها:
التنويع | صورة |
---|---|
لا تتضمن مشاكل من Google | google/apigee-envoy-adapter:v2.0.0 |
Ubuntu | google/apigee-envoy-adapter:v2.0.0-ubuntu |
نظام التشغيل Ubuntu مع تشفير ممل | google/apigee-envoy-adapter:v2.0.0-boring |
على سبيل المثال، لتشغيل صورة فورية مع config.yaml
المحلي المتوفّر باسم /config.yaml
من خلال تثبيت مستوى الصوت، استخدِم الأمر التالي:
docker run -v ./config.yaml:/config.yaml google/apigee-envoy-adapter:v2.0.0
إنشاء نماذج لملفات الإعداد
إنشاء ملف إعداد Envoy باستخدام واجهة سطر الأوامر:
- تأكَّد من أنّك في الدليل
$ENVOY_HOME
. - أدرِج نماذج الضبط المتاحة:
$CLI_HOME/apigee-remote-service-cli samples templates
نفِّذ أمر النماذج. بالنسبة إلى TEMPLATE، استبدِل أحد نماذج Envoy المتوافقة:
$CLI_HOME/apigee-remote-service-cli samples create --template TEMPLATE -c ./config.yaml
ينشئ الأمر الملف
./samples/envoy-config.yaml
.
لمزيد من المعلومات، يُرجى الاطّلاع على الأمر "عيّنات".
تثبيت الخادم الوكيل Envoy وتشغيله
اتّبِع الخطوات التالية لتثبيت الخادم الوكيل Envoy وتشغيله:
- تنزيل برنامج ثنائي Envoy أو إنشاءها أو استخدِم Docker.
- شغِّل Envoy باستخدام نموذج ملف إعداد أنشأته سابقًا لخدمة
httpbin.org
:envoy -c ./samples/envoy-config.yaml
اختبار التثبيت
- يمكنك إعداد منتج واجهة برمجة التطبيقات والحصول على مفتاح واجهة برمجة التطبيقات كما هو موضّح في كيفية الحصول على مفتاح واجهة برمجة التطبيقات
- يمكنك طلب خدمة
httpbin
بدون مفتاح واجهة برمجة التطبيقات:curl -i http://localhost:8080/headers -H "HOST:httpbin.org"
تدير Apigee هذه الخدمة حاليًا، ولأنك لم تقدم مفتاح واجهة برمجة التطبيقات، ينتج عن الاستدعاء الخطأ التالي.
curl -i http://localhost:8080/headers -H "HOST:httpbin.org" HTTP/1.1 403 Forbidden date: Tue, 12 May 2020 17:51:36 GMT server: envoy content-length: 0 x-envoy-upstream-service-time: 11
- يمكنك إجراء طلب بيانات من واجهة برمجة التطبيقات باستخدام المفتاح:
export APIKEY=YOUR_API_KEY
curl -i http://localhost:8080/headers \ -H "HOST:httpbin.org" -H "x-api-key: $APIKEY"
من المفترض أن تنجح المكالمة مع الحالة 200 وعرض قائمة بالعناوين في الاستجابة. على سبيل المثال:
curl -i httpbin.default.svc.cluster.local/headers -H "x-api-key: kyOTalNNLMPfOSy6rnVeclmVSL6pA2zS" HTTP/1.1 200 OK server: envoy date: Tue, 12 May 2020 17:55:34 GMT content-type: application/json content-length: 828 access-control-allow-origin: * access-control-allow-credentials: true x-envoy-upstream-service-time: 301 { "headers": { "Accept": "*/*", "Content-Length": "0", "Host": "httpbin.default.svc.cluster.local", "User-Agent": "curl/7.70.0-DEV", "X-Api-Key": "kyOTalNNLMPfOSy6rneclmVSL6pA2zS", "X-Apigee-Accesstoken": "", "X-Apigee-Api": "httpbin.default.svc.cluster.local", "X-Apigee-Apiproducts": "httpbin", "X-Apigee-Application": "httpbin", "X-Apigee-Authorized": "true", "X-Apigee-Clientid": "kyOTalNNLMPfOSy6rVeclmVSL6pA2zS", "X-Apigee-Developeremail": "user@example.com", "X-Apigee-Environment": "test", "X-Apigee-Organization": "my-org", "X-Apigee-Scope": "", "X-B3-Parentspanid": "1476f9a2329bbdfa", "X-B3-Sampled": "0", "X-B3-Spanid": "1ad5c19bfb4bc96f", "X-B3-Traceid": "6f329a34e8ca07811476f9a2329bbdfa" } }
الخطوات التالية
تدير Apigee الآن حركة بيانات واجهة برمجة التطبيقات إلى خدمة httpbin
. إليك
إليك بعض الميزات التي يمكنك استكشافها وتجربتها:
- في حال ضبط منتج واجهة برمجة التطبيقات كما هو موضّح في
كيفية الحصول على مفتاح واجهة برمجة التطبيقات
فقد تم تعيين حد الحصة على 5 طلبات في الدقيقة. حاوِل الاتصال بخدمة
httpbin
. بضع مرات أخرى لتشغيل الحصة. عند استنفاد الحصة، يظهر خطأ 403 لحالة HTTP عاد. - انتقِل إلى Apigee Analytics في واجهة مستخدم Edge. انتقل إلى تحليل > مقاييس واجهة برمجة التطبيقات > واجهة برمجة التطبيقات أداء الخادم الوكيل
- إنشاء رموز JWT المميزة واستخدامها لمصادقة طلبات البيانات من واجهة برمجة التطبيقات
- استخدِم واجهة سطر الأوامر لإدارة الرموز المميّزة والتحكُّم فيها والتحكُّم في عمليات الربط. للحصول على تفاصيل واجهة سطر الأوامر، يُرجى الاطّلاع على المرجع.