أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلىمستندات Apigee X. info
في يوم الثلاثاء الموافق 30 أغسطس 2016، أطلقنا إصدارًا جديدًا من Apigee Edge للسحابة الإلكترونية العامة.
الميزات الجديدة والتعديلات
في ما يلي الميزات الجديدة والتعديلات في هذا الإصدار.
حمولات JSON في سياستَي Assign Message وRaise Fault
باستخدام هذا التحسين، لن تكون هناك حاجة إلى حلول بديلة لضمان تنسيق رسالة JSON بشكلٍ صحيح، و يمكن تحديد المتغيرات باستخدام أقواس معقوفة بدون إنشاء JSON غير صالح. على سبيل المثال، يُدرِج ما يلي قيمة message.content في رسالة JSON:
<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>
إذا كنت قد استخدمت حلاً بديلاً، سيستمر الرمز البرمجي في العمل كما هو. يمكنك أيضًا استخدام variablePrefix وvariableSuffix بدلاً من الأقواس المعقوفة للإشارة إلى المتغيرات.
يُرجى الاطّلاع على العنصر <Set><Payload> في مستندات مرجع سياستَي Assign Message و Raise Fault policy. (APIRT-1160)
تحسينات على سياسة XML to JSON
تم تحسين سياسة XML to JSON من خلال الإمكانات التالية. يمكنك ضبط السياسة على ما يلي:
- التعامل مع بعض عناصر XML على أنّها صفائف أثناء التحويل، ما يضع القيم بين أقواس مربّعة "[ ]" في مستند JSON.
- إزالة مستويات من التسلسل الهرمي لمستند XML في مستند JSON النهائي.
لمزيد من المعلومات، يُرجى الاطّلاع على سياسة XML إلى JSON. (APIRT-1144)
أحرف بدل متعدّدة في مسارات موارد منتج واجهة برمجة التطبيقات
عند تحديد مسارات الموارد في منتج واجهة برمجة التطبيقات، يمكنك تضمين أحرف بدل في مواضع متعدّدة في مسار مورد. على سبيل المثال، يسمح المسار /team/*/invoices/** بطلبات واجهة برمجة التطبيقات التي تتضمّن أي
قيمة واحدة بعد /team وأي مسارات موارد
بعد invoices/. سيكون عنوان URI المسموح به في طلب بيانات من واجهة برمجة التطبيقات هو
proxyBasePath/team/finance/invoices/company/a.
إذا توقّفت مسارات موارد منتج واجهة برمجة التطبيقات الحالية عن العمل على النحو المتوقّع بعد هذا الإصدار، اضبط
السمة التالية في مؤسستك للرجوع إلى السلوك السابق: features.enableStandardWildCardMatchForAPIProductResources = true
(MGMT-3273)
وظائف التشفير في JavaScript
تتوفّر مجموعة جديدة من وظائف JavaScript عالية الأداء crypto لإنشاء كائنات التجزئة التالية والحصول عليها وتعديلها: MD5 وSHA-1 وSHA256 وSHA512.
يسمح لك كائن التشفير أيضًا بالحصول على
التاريخ بتنسيقات مختلفة. لمزيد من المعلومات، يُرجى الاطّلاع على نموذج كائنات JavaScript.
(APIRT-2886)
التحقّق من إصدار ملف JAR في Java Callout
عند تحميل مورد Java JAR إلى خادم وكيل لواجهة برمجة التطبيقات، يتم عرض رمز حالة HTTP 400 (بدلاً من 500) إذا كان إصدار مورد Java غير متوافق مع إصدار Java المتوافق مع Edge والمدرَج في البرامج والإصدارات المتوافقة. (MGMT-3420)
التحقّق من صحة موارد خادم وكيل لواجهة برمجة التطبيقات
عندما تكون لديك ملفات موارد خادم وكيل لواجهة برمجة التطبيقات (مثل JavaScript أو Java JAR) مخزّنة على مستوى البيئة أو المؤسسة، لا يطلب منك إطار التحقّق من الصحة أيضًا تضمين هذه الموارد على مستوى خادم وكيل لواجهة برمجة التطبيقات في حزمة خادم وكيل لاستيرادها من أجل اجتياز عملية التحقّق من الصحة. يتم الآن التحقّق من صحة الموارد في وقت النشر، وليس في وقت الاستيراد. (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، ضبط مهلة زمنية لخادم وكيل لواجهة برمجة التطبيقات أيضًا، طالما أنّ المهلة الزمنية أقصر من المهلة الزمنية العادية لمعالج الرسائل في Edge والتي تبلغ 57 ثانية.
لا يمكنك ملء القيمة بمتغيّر. تمت تغطية هذه السمة في الـ مرجع خصائص نقطة النهاية. (APIRT-1778)
بروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة (SSL) في سياسة Message logging
<KeyStore> و<TrustStore> يمكن ضبطهما في إعداد SSLInfo في سياسة Message Logging، ما يسمح ببروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة (SSL) أحادي الاتجاه وثنائي الاتجاه مع خدمة تسجيل. يمكنك ضبط SSLInfo في سياسة Message Logging بالطريقة نفسها التي تضبط بها
TargetEndpoint لخادم وكيل. ومع ذلك، لا يتيح بروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة (SSL) في Message Logging سوى بروتوكول 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 | **تعرض Analytics API خطأ في الوصول إلى البيانات باستخدام response_status_code** |
| AXAPP-2386 | إصلاح محتوى التقارير الفارغ في تقارير الإحصاءات اليومية المرسَلة عبر البريد الإلكتروني |
| 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 المتوافقة مع FHIR عنوان Content-Type 'application/json+fhir' |
| APIRT-2946 | لا تخفي سياسة OAuthV2-RefreshToken السمات حتى إذا تم ضبط العرض على "خطأ" |
| APIRT-2908 | يجب فرض بروتوكول أمان طبقة النقل (TLS) 1.2 لطلب بيانات من واجهة برمجة التطبيقات الداخلية بعد تعديل بروتوكول أمان طبقة النقل (TLS) 1.2 على المضيف الظاهري |
| APIRT-2901 | يتم ضغط الاستجابات المضغوطة باستخدام gzip التي يتم عرضها من ذاكرة التخزين المؤقت بشكلٍ مزدوج |
| APIRT-2873 | تعرض معالجات الرسائل NullPointerException ذات الصلة بـ VerifyAPIKey بعد حذف المنتجات/المطوّرين/خوادم الوكيل |
| APIRT-2871 | ظهور السياسات التي تتطلّب عمليات إدخال/إخراج مكثّفة مرّتين في أداة التتبُّع |
| APIRT-2825 | خطأ نحوي في استجابة الخطأ في رمز الدخول |
| APIRT-2750 | ارتفاع معدّل تعذُّر الزيارات في مؤسسة معيّنة |
| APIRT-2685 | لا يمكن أن تتدفق الزيارات بسبب ظهور خطأ غير معروف |
| APIRT-2647 | خطأ"Underlying input stream returned zero bytes" مع غير الإنتاج/التطوير |
| APIRT-2630 | مشاكل متقطّعة عند محاولة قراءة قيمة من ذاكرة التخزين المؤقت |
| APIRT-2620 | مجموعة منفصلة من سلاسل المحادثات لبعض الخطوات التي تحظر التنفيذ |
| APIRT-2610 | java.lang.ClassCastException مع سياسة Response Cache |
| APIRT-2608 | خطأ في تحليل عناوين Last-Modified في سياسات Response Cache |
| APIRT-2605 | يجب عدم السماح بالكتابة فوق المتغيّرات"organization" و "environment" من خلال السياسات |
| APIRT-2566 | تعرض سياسة OAuthV2 عنوان WWW-Authenticate غير صالح |
| APIRT-2491 | تعذُّر تعديل TargetServer بسبب انتهاء المهلة الزمنية لطلب RPC بين الإدارة و معالجات الرسائل |
| APIRT-2386 | يتم إنشاء نطاق سلسلة فارغة في منتج واجهة برمجة تطبيقات يتضمّن نطاقات OAuth المسموح بها فارغة |
| APIRT-2383 | لا يبدو أنّ سياسات XSL Transformation تسجِّل أي بيانات عند حدوث خطأ |
| APIRT-2364 | لا يتم تعديل متغيّرات مسار أخطاء OAuth عند حدوث خطأ |
| APIRT-2216 | الأحداث التي يرسلها الخادم - تواجه سلسلة الأحداث مشاكل في الإنتاج |
| APIRT-2079 | لا يتوقّف طلب cURL في وضع التصحيح بعد انتهاء المهلة الزمنية للجلسة التي تم إنشاؤها |
| APIRT-1495 | لا يرصد XML Threat Protection عنوان Content-Type الخاص بـ fhir |
| APIRT-347 | لا يتم التحقّق من صحة سياسة XSL بشكلٍ صحيح عند الاستيراد (لا يتم تعيين النتائج لمتغيّرات الإخراج كما هو موضّح) |