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

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

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

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

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

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

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

بفضل هذا التحسين، لن تحتاج إلى حلول بديلة لضمان تنسيق رسائل 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)

أحرف بدل متعدّدة في مسارات موارد منتج واجهة برمجة التطبيقات

عند تحديد مسارات الموارد في &quot;منتج واجهة برمجة التطبيقات&quot;، يمكنك تضمين أحرف البدل في مواضع متعددة في مسار المورد. على سبيل المثال، يسمح /team/*/invoices/** بطلبات البيانات من واجهة برمجة التطبيقات التي تتضمّن أي قيمة بعد /team وأي مسارات موارد بعد invoices/. سيكون معرّف الموارد المنتظم المسموح به في طلب بيانات من واجهة برمجة التطبيقات هو proxyBasePath/team/finance/invoices/company/a.

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

  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 أيضًا ضبط مهلة لخادم وكيل 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 واجهة برمجة التطبيقات في &quot;إحصاءات Google&quot; التي تستخدم 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 بشكل صحيح عند الاستيراد (لا يتم تعيين النتائج لمتغيرات الإخراج كما هو موثّق)