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

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

أطلقنا يوم الثلاثاء 30 آب (أغسطس) 2016 إصدارًا جديدًا من Apigee Edge for Public Cloud.

الميزات والتحديثات الجديدة

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

حمولات JSON في "تعيين الرسالة" و"رفع الخطأ"

عند ضبط حمولة JSON باستخدام سياسة "تعيين رسالة" أو "رفع الخطأ"، كان يُطلب من المستخدمين أحيانًا استخدام حلول بديلة لضمان تنسيق رسالة JSON بشكل صحيح في وقت التشغيل، مثل بدء الحمولة بشرطة مائلة للخلف "\" أو تحديد متغيّر بداية ومتغير Suffix على عنصر "حمولة"، حتى في حال عدم استخدام أي متغيّرات في الرسالة.

من خلال هذا التحسين، لا حاجة إلى إيجاد حلول بديلة لضمان تنسيق رسالة JSON بشكل صحيح، ويمكن تحديد المتغيّرات باستخدام الأقواس المعقوفة بدون إنشاء ملف JSON غير صالح. على سبيل المثال، يؤدي ما يلي إلى إدراج قيمة message.content في رسالة JSON:

<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>

إذا استخدمت حلاً بديلاً، ستواصل التعليمة البرمجية العمل كما هي. يمكنك أيضًا استخدام changePrefix وVariableSuffix بدلاً من الأقواس المعقوفة للإشارة إلى المتغيرات.

اطّلِع على العنصر <Set><Payload> في المستندَين المرجعيَّين تعيين سياسة الرسالة ورفع سياسة الخطأ. (APIRT-1160)

تحسينات على سياسة XML إلى JSON

تم تحسين سياسة XML إلى 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. يتيح لك الكائن crypto أيضًا الحصول على التاريخ بتنسيقات مختلفة. لمزيد من المعلومات، يُرجى الاطّلاع على نموذج عنصر JavaScript. (APIRT-2886)

جارٍ التحقق من إصدار JAR من وسيلة شرح Java

عند تحميل مورد Java JAR إلى خادم وكيل لواجهة برمجة التطبيقات، يتم عرض رمز حالة HTTP 400 (بدلاً من 500) إذا كان إصدار مورد Java غير متوافق مع إصدار Java المتوافق مع Edge، والمدرج في البرامج المتوافقة والإصدارات المتوافقة. (MGMT-3420)

التحقق من صحة موارد الخادم الوكيل لواجهة برمجة التطبيقات

إذا كانت لديك ملفات موارد خادم وكيل لواجهة برمجة التطبيقات (مثل ملفات JavaScript أو Java JAR) مخزَّنة في البيئة أو نطاق المؤسسة، لم يعُد إطار عمل التحقق يتطلب منك تضمين هذه الموارد على مستوى الخادم الوكيل لواجهة برمجة التطبيقات في حزمة خادم وكيل لاجتياز عملية التحقق. تُجرى عملية التحقق من صحة الموارد الآن في وقت النشر، وليس في وقت الاستيراد. (MGMT-1430)

ضبط المهلة الزمنية للخوادم الوكيلة الفردية لواجهة برمجة التطبيقات

يمكنك إعداد الخوادم الوكيلة لواجهة برمجة التطبيقات لتنتهي بعد مدة زمنية معيّنة (مع حالة مهلة مدخل 504). إنّ حالة الاستخدام الأساسية هذه هي لعملاء Private Cloud الذين لديهم خوادم وكيلة لواجهة برمجة التطبيقات تستغرق وقتًا أطول في التنفيذ. على سبيل المثال، لنفترض أنك بحاجة إلى خوادم وكيلة محددة لانتهاء المهلة بعد 3 دقائق. يمكنك استخدام سمة api.timeout جديدة في إعدادات الخادم الوكيل لواجهة برمجة التطبيقات. إليك كيفية إجراء ذلك من خلال المثال الذي تبلغ مدته 3 دقائق:

  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>

يمكن لعملاء Cloud، الذين لا يمكنهم تعديل مهلات Edge، ضبط مهلة الخادم الوكيل لواجهة برمجة التطبيقات، ما دامت المهلة أقصر من المهلة العادية لمعالج رسائل Edge التي تبلغ 57 ثانية.

لا يمكنك تعبئة القيمة بمتغير. ويتم تناول هذه السمة في مرجع خصائص نقطة النهاية. (APIRT-1778)

سياسة بروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة (SSL) لتسجيل الرسائل

يمكن ضبط <KeyStore> و<TrustStore> في إعدادات SSLInfo في سياسة تسجيل الرسائل، ما يسمح ببروتوكول أمان طبقة النقل أو طبقة المقابس الآمنة الأحادي الاتجاه أو طبقة المقابس الآمنة مع خدمة تسجيل. يمكنك ضبط SSLInfo في سياسة "تسجيل الرسائل" بالطريقة نفسها التي تضبطها على الخادم الوكيل TargetEndpoint. ومع ذلك، فإن بروتوكول أمان طبقة النقل/طبقة المقابس الآمنة لتسجيل الرسائل لا يتوافق إلا مع بروتوكول TCP. (APIRT-1858)

الأخطاء التي تم إصلاحها

تم إصلاح الأخطاء التالية في هذا الإصدار. هذه القائمة مخصَّصة في المقام الأول للمستخدمين الذين يتحققون مما إذا كانت طلبات الدعم الخاصة بهم قد تم إصلاحها. وهي غير مصمَّمة لتوفير معلومات مفصّلة لجميع المستخدمين.

معرّف المشكلة الوصف
SECENG-609 تعذُّر تنفيذ طلبات وقت التشغيل أثناء حذف متجر الثقة المرتبط أو عند حذف الشهادة الصالحة في متجر الثقة
MGMT-3404 عرض/استرداد سجلات Node.js ونشر الخوادم الوكيلة بطيء جدًا
MGMT-3400 تعذُّر الاتصال بواجهة برمجة التطبيقات لإدارة أدوار /userroles إذا كان اسم المستخدم الذي يجري الاتصال لديه علامة "+" في الاسم
MGMT-3368 java.lang.ArrayIndexOutOfBoundsException: 1، عند استيراد حزمة خادم وكيل لواجهة برمجة التطبيقات تحتوي على دليل الموارد/العقدة/الموارد
MGMT-3364 OAuthV2: فحص redirect_uri
MGMT-3319 إنّ الإدخالات في القائمة في خزنة تتضمّن قيمة فارغة في أحد الإدخالات لا تعمل مع المؤسسات (والتي لم تكن تستخدم شهادة CPS أو وحدة تحكُّم في السحابة الإلكترونية).
MGMT-3226 يجب ألا يؤدي طلب البحث على مستوى المؤسسة أو البيئة إلى عرض جميع البيانات التي تؤدي إلى تعذُّر استخدام واجهة برمجة التطبيقات
حدث خطأ في Release_160302 يؤدّي إلى تعذُّر عملية إدراج الموارد على مستوى المؤسسة/البيئة إذا كان الحجم التراكمي للموارد يتجاوز 16 ميغابايت، ويمكن حل المشكلة في هذا الإطار.
AXAPP-2429 واجهة برمجة تطبيقات "إحصاءات Google" التي تستخدم response_status_code تعرض خطأ في الوصول إلى البيانات
AXAPP-2386 إصلاح محتوى التقارير الفارغة في تقارير "إحصاءات Google" اليومية عبر البريد الإلكتروني
AXAPP-2347 عدم تلقّي رسائل إلكترونية حول ملخّصات الإحصاءات اليومية
APIRT-3141 تعذُّر استخدام وسائل شرح Java عند استدعاء طريقة تنفيذ ExecutionResult() الجديدة، بسبب ضبط الدالة الإنشائية على الوضع "خاص"
APIRT-3140 سياسة ServiceCallout لا تعمل في طلبات واجهة برمجة التطبيقات HEAD
APIRT-3131 تم عرض معلومات غير صحيحة تم إنشاؤها من خلال خادم وكيل لواجهة برمجة التطبيقات عند استخدام ميزة تحقيق الربح مع مزوِّد مصادقة خارجي.
APIRT-3121 التغيير الذي تم إجراؤه على ملف موارد المؤسسة ليس فعّالاً بنسبة% 100
APIRT-3117 استخدام "وحدة المعالجة المركزية" (CPU) بنسبة% 100 وتوقّفنا عن عرض حركة البيانات
APIRT-3016 أخطاء "انتهت مهلة الاتصال" في جهاز التوجيه
APIRT-2975 تعذّر تحميل حزمة الشهادات
APIRT-2955 تعذّر إخفاء سمات معيّنة لبيانات استجابة JSON لعنوان FHIR-complaint من نوع المحتوى 'application/json+fhir'
APIRT-2946 لا تُخفي سياسة OAuthV2-ActivateToken السمات حتى إذا تم ضبط العرض على "خطأ".
APIRT-2908 يجب فرض بروتوكول TLS1.2 لطلب بيانات من واجهة برمجة التطبيقات الداخلية بعد تحديث TLS1.2 على المضيف الافتراضي.
APIRT-2901 يتم ضغط استجابات Gzipped التي يتم عرضها من ذاكرة التخزين المؤقت مرتين
APIRT-2873 يطرح نواب البرلمان قيمة NullPointerException ذات الصلة بسياسة التحقّق من واجهة برمجة التطبيقات بعد حذف المنتجات/المطوّرين/الخوادم الوكيلة
APIRT-2871 ظهور سياسات IOInمكثفة مرتين في Trace
APIRT-2825 خطأ نحوي في استجابة خطأ رمز الوصول
APIRT-2750 حالات تعذُّر حركة المرور في مؤسسة معيّنة
APIRT-2685 يتعذّر تدفق حركة المرور مع حدوث خطأ غير معروف
APIRT-2647 خطأ"عرض مصدر الإدخال الأساسي صفر بايت" مع nonprod/dev
APIRT-2630 مشاكل التقطع عند محاولة قراءة القيمة من ذاكرة التخزين المؤقت
APIRT-2620 مجموعة سلاسل محادثات منفصلة لبعض خطوات الحظر
APIRT-2610 java.lang.ClassCastException with Response Cache policy
APIRT-2608 خطأ في تحليل العناوين Last-Modified في سياسات ذاكرة التخزين المؤقت للاستجابة
APIRT-2605 يجب عدم السماح باستبدال متغيّرَي"المؤسسة" و "البيئة" من خلال السياسات.
APIRT-2566 سياسة OAuthV2 تعرض عنوان WWW-Authenticate المكتوب بصيغة غير صحيحة
APIRT-2491 تعذّر تحديث TargetServer بسبب انتهاء مهلة استدعاء إجراء عن بُعد (RPC) بين الإدارة وmps.
APIRT-2386 تم إنشاء نطاق السلسلة الفارغة في منتج واجهة برمجة التطبيقات الذي يحتوي على نطاقات OAuth فارغة مسموح بها.
APIRT-2383 يبدو أنّ سياسات تحويل XSL لا تسجّل أي بيانات عند حدوث خطأ
APIRT-2364 عدم تعديل متغيّرات تدفق خطأ OAuth عند ظهور الخطأ
APIRT-2216 الأحداث المُرسَلة من الخادم - هناك مشاكل في بث الأحداث في الإنتاج
APIRT-2079 عدم توقُّف طلب cURL لتصحيح الأخطاء بعد انتهاء المهلة للجلسة التي تم إنشاؤها
APIRT-1495 الحماية من تهديدات XML لا ترصد نوع المحتوى
APIRT-347 لم يتم التحقق من سياسة XSL بشكل صحيح عند الاستيراد (لا يتم تخصيص النتائج لمتغيرات الإخراج كما هو موثَّق)