16.08.17 - ملاحظات إصدار Apigee Edge for Public Cloud

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلىمستندات Apigee X.
info

في يوم الثلاثاء الموافق 30 أغسطس 2016، أطلقنا إصدارًا جديدًا من Apigee Edge للسحابة الإلكترونية العامة.

الميزات الجديدة والتعديلات

في ما يلي الميزات الجديدة والتعديلات في هذا الإصدار.

حمولات JSON في سياستَي Assign Message وRaise Fault

عند ضبط حمولة JSON باستخدام سياستَي Assign Message أو Raise Fault، كان يُطلب من المستخدمين أحيانًا استخدام حلول بديلة لضمان تنسيق رسالة JSON بشكلٍ صحيح في وقت التشغيل، مثل بدء الحمولة بشرطة مائلة عكسية "\" أو تحديد variablePrefix وvariableSuffix في العنصر Payload، حتى إذا لم يتم استخدام أي متغيرات في الرسالة.

باستخدام هذا التحسين، لن تكون هناك حاجة إلى حلول بديلة لضمان تنسيق رسالة 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 جديدة في إعداد خادم وكيل لواجهة برمجة التطبيقات. إليك كيفية إجراء ذلك باستخدام مثال الدقائق الثلاث:

  1. أولاً، احرص على ضبط موازنة التحميل والموجّه ومعالج الرسائل بحيث تنتهي مهلتها الزمنية بعد 3 دقائق.
  2. بعد ذلك، اضبط خوادم الوكيل ذات الصلة بحيث تنتهي مهلتها الزمنية في غضون 3 دقائق. حدِّد القيمة بالملّي ثانية. على سبيل المثال:
    <ProxyEndpoint name="default">
      <HTTPProxyConnection>
        <BasePath>/v1/weather</BasePath>
        <Properties>
          <!-- api.timeout is in milliseconeds -->
          <Property name="api.timeout">180000</Property>
        </Properties>
        ...
  3. يُرجى العِلم أنّ زيادة المهلات الزمنية للنظام قد تؤدي إلى حدوث مشاكل في الأداء، لأنّ جميع خوادم الوكيل التي ليس لديها إعداد 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 بشكلٍ صحيح عند الاستيراد (لا يتم تعيين النتائج لمتغيّرات الإخراج كما هو موضّح)