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

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

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

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

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

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

عند ضبط حمولة 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

تتوفّر مجموعة جديدة من crypto الدوال عالية الأداء في JavaScript لإنشاء كائنات التجزئة التالية والحصول عليها وتعديلها: MD5 وSHA-1 وSHA256 وSHA512. يتيح لك العنصر crypto أيضًا الحصول على التاريخ بتنسيقات مختلفة. لمزيد من المعلومات، يُرجى الاطّلاع على نموذج عناصر JavaScript. (APIRT-2886)

التحقّق من إصدار ملف JAR الخاص بـ Java Callout

عند تحميل مصدر 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 في الخادم الوكيل. ومع ذلك، لا يتيح تسجيل الرسائل باستخدام بروتوكول أمان طبقة النقل (TLS) أو بروتوكول طبقة المقابس الآمنة (SSL) سوى بروتوكول 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 عند استدعاء new 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) لطلبات البيانات من واجهة برمجة التطبيقات الداخلية بعد تعديل الإصدار على المضيف الظاهري
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 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 Transformation تسجّل أي بيانات عند حدوث خطأ
APIRT-2364 عدم تعديل متغيرات مسار الخطأ في OAuth عند حدوث خطأ
APIRT-2216 أحداث مرسَلة من الخادم - حدث بث يواجه مشاكل في الإنتاج
APIRT-2079 لا يتوقف طلب تصحيح الأخطاء cURL بعد انتهاء المهلة للجلسة التي تم إنشاؤها
APIRT-1495 عدم رصد "حماية XML من التهديدات" لنوع المحتوى fhir
APIRT-347 لا يتم التحقّق من صحة سياسة XSL بشكل صحيح عند الاستيراد (لا يتم تعيين النتائج لمتغيرات الإخراج كما هو موثّق)