أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
في يوم الثلاثاء الموافق 30 أغسطس 2016، أطلقنا إصدارًا جديدًا من Apigee Edge for Public Cloud.
الميزات والتحديثات الجديدة
في ما يلي الميزات والتحديثات الجديدة في هذا الإصدار.
حِملات JSON في "تعيين رسالة" و"إصدار خطأ"
بفضل هذا التحسين، لن تحتاج إلى حلول بديلة لضمان تنسيق رسائل JSON بشكل سليم، ويمكن تحديد المتغيرات باستخدام أقواس معقوفة بدون إنشاء JSON غير صالح. على سبيل المثال، يدرج ما يلي قيمة message.content في رسالة JSON:
<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>
إذا كنت قد استخدمت حلاً بديلاً، سيستمر عمل الرمز كما هو. يمكنك أيضًا استخدام variablePrefix وvariableSuffix بدلاً من الأقواس المعقوفة للإشارة إلى المتغيرات.
راجِع العنصر <Set><Payload> في مستندات سياسة "تعيين الرسالة" وسياسة "إنشاء خطأ" المرجعية. (APIRT-1160)
تحسينات على سياسة تحويل XML إلى JSON
تم تحسين سياسة XML إلى JSON من خلال الإمكانات التالية. يمكنك ضبط السياسة على ما يلي:
- التعامل مع بعض عناصر XML كصفوف أثناء التحويل، ما يؤدي إلى وضع القيم بين قوسين معقوفين '[ ]' في مستند JSON
- إزالة مستويات من تسلسل XML الهرمي في مستند JSON النهائي
لمزيد من المعلومات، اطّلِع على سياسة تحويل XML إلى JSON. (APIRT-1144)
أحرف بدل متعدّدة في مسارات موارد منتج واجهة برمجة التطبيقات
عند تحديد مسارات الموارد في "منتج واجهة برمجة التطبيقات"، يمكنك تضمين أحرف البدل في مواضع متعددة في مسار المورد. على سبيل المثال، يسمح /team/*/invoices/** بطلبات البيانات من واجهة برمجة التطبيقات التي تتضمّن أي قيمة بعد /team وأي مسارات موارد بعد invoices/. سيكون معرّف الموارد المنتظم المسموح به في طلب بيانات من واجهة برمجة التطبيقات هو proxyBasePath/team/finance/invoices/company/a.
إذا توقّفت مسارات موارد "منتج واجهة برمجة التطبيقات" الحالية عن العمل كما هو متوقّع بعد هذا الإصدار، اضبط السمة التالية في مؤسستك للرجوع إلى السلوك السابق: features.enableStandardWildCardMatchForAPIProductResources = true
(MGMT-3273)
وظائف التشفير في JavaScript
تتوفّر مجموعة جديدة من دوال JavaScript crypto عالية الأداء
لإنشاء كائنات التجزئة التالية والحصول عليها وتعديلها: MD5 وSHA-1 وSHA256 وSHA512.
يتيح لك العنصر crypto أيضًا الحصول على التاريخ بتنسيقات مختلفة. لمزيد من المعلومات، يُرجى الاطّلاع على نموذج عناصر JavaScript.
(APIRT-2886)
التحقّق من إصدار ملف JAR الخاص بوسيلة شرح Java
عند تحميل مصدر Java JAR إلى خادم وكيل لواجهة برمجة التطبيقات، يتم عرض رمز حالة HTTP 400 (بدلاً من 500) إذا كان إصدار مصدر Java غير متوافق مع إصدار Java المتوافق مع Edge والمدرَج في البرامج المتوافقة والإصدارات المتوافقة. (MGMT-3420)
التحقّق من صحة موارد الخادم الوكيل لواجهة برمجة التطبيقات
عندما تكون لديك ملفات موارد لخادم وكيل لواجهة برمجة التطبيقات (مثل JavaScript أو حِزم JAR في Java) مخزّنة على مستوى البيئة أو المؤسسة، لن يطلب منك إطار عمل التحقّق تضمين هذه الموارد أيضًا على مستوى خادم وكيل لواجهة برمجة التطبيقات في حزمة خادم وكيل ليتم استيرادها بنجاح. يتم الآن التحقّق من صحة الموارد في وقت النشر، وليس في وقت الاستيراد. (MGMT-1430)
ضبط المهلة الزمنية لخوادم وكيل واجهة برمجة التطبيقات الفردية
يمكنك ضبط خوادم وكيل واجهة برمجة التطبيقات لتنتهي مهلتها بعد فترة زمنية محدّدة (مع حالة مهلة البوابة 504). حالة الاستخدام الأساسية هي لعملاء السحابة الإلكترونية الخاصة الذين لديهم خوادم وكيلة لواجهة برمجة التطبيقات تستغرق وقتًا أطول للتنفيذ. على سبيل المثال، لنفترض أنّك بحاجة إلى خوادم وكيل معيّنة تنتهي مهلتها بعد 3 دقائق. يمكنك استخدام سمة api.timeout جديدة في إعدادات خادم وكيل لواجهة برمجة التطبيقات. في ما يلي كيفية إجراء ذلك باستخدام مثال الدقائق الثلاث:
- أولاً، احرص على ضبط موازن التحميل وجهاز التوجيه ومعالج الرسائل على أن تنتهي المهلة بعد 3 دقائق.
- بعد ذلك، اضبط الخوادم الوكيلة ذات الصلة على أن تنتهي مهلتها بعد 3 دقائق. حدِّد القيمة بالملّي ثانية. على سبيل المثال:
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/v1/weather</BasePath> <Properties> <!-- api.timeout is in milliseconeds --> <Property name="api.timeout">180000</Property> </Properties> ... - يُرجى العِلم، مع ذلك، أنّ زيادة مهلات النظام قد تؤدي إلى حدوث مشاكل في الأداء، لأنّ جميع الخوادم الوكيلة التي لا تتضمّن إعداد api.timeout تستخدم المهلات الجديدة الأعلى لموازنة التحميل والموجّه ومعالج الرسائل. لذا، اضبط إعدادات خوادم وكيلة أخرى لواجهات برمجة التطبيقات لا تتطلّب مهلات أطول
لاستخدام مهلات أقصر. على سبيل المثال، يضبط ما يلي مهلة الخادم الوكيل لواجهة برمجة التطبيقات بعد دقيقة واحدة:
<Property name="api.timeout">60000</Property>
يمكن لعملاء السحابة الإلكترونية الذين لا يمكنهم تعديل مهلات Edge أيضًا ضبط مهلة لخادم وكيل API، طالما أنّ المهلة أقصر من مهلة معالج رسائل Edge العادية البالغة 57 ثانية.
لا يمكنك ملء القيمة بمتغيّر. يتم تناول هذه السمة في مرجع سمات نقطة النهاية. (APIRT-1778)
سياسة TLS/SSL لتسجيل الرسائل
يمكن ضبط <KeyStore> و<TrustStore> في إعدادات SSLInfo ضمن سياسة تسجيل الرسائل، ما يتيح استخدام بروتوكول أمان طبقة النقل (TLS) أو طبقة المقابس الآمنة (SSL) في اتجاه واحد أو اتجاهين مع خدمة التسجيل. يمكنك ضبط SSLInfo في سياسة تسجيل الرسائل بالطريقة نفسها التي تضبط بها
TargetEndpoint في الخادم الوكيل. ومع ذلك، لا يتيح بروتوكول أمان طبقة النقل/بروتوكول طبقة المقابس الآمنة في "تسجيل الرسائل" سوى بروتوكول TCP.
(APIRT-1858)
إصلاح الأخطاء
تم إصلاح الأخطاء التالية في هذا الإصدار. هذه القائمة مخصّصة بشكل أساسي للمستخدمين الذين يريدون التحقّق مما إذا تم حلّ تذاكر الدعم التي أرسلوها. ولم يتم تصميمها لتقديم معلومات تفصيلية لجميع المستخدمين.
| معرّف المشكلة | الوصف |
|---|---|
| SECENG-609 | عدم تعذُّر عمليات التشغيل أثناء حذف ملف تخزين الموثوقية المرتبط أو عند حذف الشهادة الصالحة في ملف تخزين الموثوقية |
| MGMT-3404 | تستغرق عملية عرض/استرداد سجلات Node.js ونشر الخوادم الوكيلة وقتًا طويلاً |
| MGMT-3400 | يتعذّر تنفيذ طلب البيانات من واجهة برمجة التطبيقات الخاصة بإدارة /userroles إذا كان اسم المستخدم الذي يرسل الطلب يتضمّن علامة "+" |
| MGMT-3368 | java.lang.ArrayIndexOutOfBoundsException: 1، عند استيراد حزمة خادم وكيل لواجهة برمجة التطبيقات التي تحتوي على دليل resources/node/resources |
| MGMT-3364 | OAuthV2: التحقّق من redirect_uri |
| MGMT-3319 | لا يمكن إدراج إدخالات في خزنة تحتوي على قيمة فارغة في أحد الإدخالات للمؤسسات (CPS وغير CPS) |
| MGMT-3226 | يجب ألا يؤدي طلب البحث على مستوى المؤسسة أو البيئة إلى استرداد جميع البيانات، ما يتسبب في تعذُّر عمل واجهة برمجة التطبيقات في الإصدار 160302، كان هناك خطأ يؤدي إلى تعذُّر إدراج الموارد على مستوى المؤسسة أو البيئة إذا كان الحجم التراكمي للموارد أكبر من 16 ميغابايت، ويعمل هذا الإصلاح على حلّ هذه المشكلة. |
| AXAPP-2429 | واجهة برمجة التطبيقات في "إحصاءات Google" التي تستخدم response_status_code تعرض خطأً في الوصول إلى البيانات |
| AXAPP-2386 | حلّ مشكلة المحتوى الفارغ في تقارير البريد الإلكتروني اليومية في "إحصاءات Google" |
| AXAPP-2347 | عدم تلقّي رسائل إلكترونية تتضمّن ملخّصًا يوميًا للإحصاءات |
| APIRT-3141 | يتعذّر تنفيذ Java Callouts عند استدعاء ExecutionResult() الجديدة، لأنّ الدالة الإنشائية أصبحت خاصة |
| APIRT-3140 | سياسة ServiceCallout لا تعمل في طلبات البيانات من واجهة برمجة التطبيقات HEAD |
| APIRT-3131 | يظهر createdBy بشكل غير صحيح لخادم وكيل لواجهة برمجة التطبيقات عند استخدام ميزة تحقيق الربح مع مقدّم خدمة مصادقة خارجي |
| APIRT-3121 | التغيير الذي تم إجراؤه على ملف موارد المؤسسة ليس فعّالاً بنسبة% 100 |
| APIRT-3117 | بلغت وحدة المعالجة المركزية في "المعالج المتعدد" نسبة استخدام% 100 وتوقّفت عن عرض الزيارات |
| APIRT-3016 | أخطاء "انتهت مهلة الاتصال" بجهاز التوجيه عند عمليات النشر |
| APIRT-2975 | تعذُّر تحميل حِزمة الشهادات |
| APIRT-2955 | تعذُّر إخفاء بعض سمات بيانات استجابة JSON لعنوان Content-Type المتوافق مع FHIR 'application/json+fhir' |
| APIRT-2946 | سياسة OAuthV2-RefreshToken لا تخفي السمات حتى عندما يكون العرض مضبوطًا على "خطأ" |
| APIRT-2908 | يجب فرض استخدام الإصدار 1.2 من بروتوكول أمان طبقة النقل (TLS) لطلبات البيانات من واجهة برمجة التطبيقات الداخلية بعد تعديل الإصدار 1.2 من بروتوكول أمان طبقة النقل (TLS) على المضيف الظاهري |
| APIRT-2901 | يتم ضغط الردود المضغوطة باستخدام gzip التي يتم عرضها من ذاكرة التخزين المؤقت مرتين |
| APIRT-2873 | تعرض "المعالجات" NullPointerException المرتبط بـ VerifyAPIKey بعد حذف المنتجات/المطوّرين/الخوادم الوكيلة |
| APIRT-2871 | ظهور سياسات IOIntensive مرّتين في Trace |
| APIRT-2825 | خطأ نحوي في الردّ الذي يفيد بحدوث خطأ في رمز الدخول |
| APIRT-2750 | ارتفاع عدد حالات تعذُّر إرسال البيانات في مؤسسة معيّنة |
| APIRT-2685 | لا يمكن أن تتدفق الزيارات مع ظهور خطأ غير معروف |
| APIRT-2647 | رسالة الخطأ"Underlying input stream returned zero bytes" مع nonprod/dev |
| APIRT-2630 | حدوث مشاكل متقطّعة عند محاولة قراءة قيمة من ذاكرة التخزين المؤقت |
| APIRT-2620 | مجموعة سلاسل محادثات منفصلة لبعض الخطوات التي تحظر |
| APIRT-2610 | java.lang.ClassCastException مع سياسة ذاكرة التخزين المؤقت للردود |
| APIRT-2608 | خطأ في تحليل عناوين Last-Modified في سياسات ذاكرة التخزين المؤقت للاستجابة |
| APIRT-2605 | يجب عدم السماح بالكتابة فوق المتغيّرات"المؤسسة" و "بيئة التشغيل" من خلال السياسات |
| APIRT-2566 | تعرض سياسة OAuthV2 عنوان WWW-Authenticate غير صالح |
| APIRT-2491 | تعذّر تعديل TargetServer بسبب انتهاء المهلة المحدّدة لاستدعاء الإجراء عن بُعد (RPC) بين الإدارة وmps |
| APIRT-2386 | يتم إنشاء نطاق سلسلة فارغة في منتج واجهة برمجة تطبيقات يتضمّن نطاقات OAuth مسموح بها فارغة |
| APIRT-2383 | لا يبدو أنّ سياسات XSL Transformation تسجّل أي بيانات عند حدوث خطأ |
| APIRT-2364 | عدم تعديل متغيرات مسار الخطأ في OAuth عند حدوث خطأ |
| APIRT-2216 | أحداث مرسَلة من الخادم - حدث بث يواجه مشاكل في الإنتاج |
| APIRT-2079 | لا يتوقف طلب تصحيح الأخطاء cURL بعد انتهاء المهلة للجلسة التي تم إنشاؤها |
| APIRT-1495 | عدم رصد "حماية XML من التهديدات" لنوع المحتوى fhir |
| APIRT-347 | لا يتم التحقّق من صحة سياسة XSL بشكل صحيح عند الاستيراد (لا يتم تعيين النتائج لمتغيرات الإخراج كما هو موثّق) |