أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
في يوم الثلاثاء الموافق 30 أغسطس 2016، أطلقنا إصدارًا جديدًا من Apigee Edge for Public Cloud.
الميزات والتحديثات الجديدة
في ما يلي الميزات والتحديثات الجديدة في هذا الإصدار.
حِملات JSON في Assign Message وRaise Fault
بفضل هذا التحسين، لن تحتاج إلى حلول بديلة لضمان تنسيق رسائل 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)
أحرف بدل متعدّدة في مسارات موارد منتج واجهة برمجة التطبيقات
عند تحديد مسارات الموارد في "منتج واجهة برمجة التطبيقات"، يمكنك تضمين أحرف بدل في مواضع متعددة في مسار المورد. على سبيل المثال، يسمح /team/*/invoices/** بطلبات البيانات من واجهة برمجة التطبيقات التي تتضمّن أي قيمة بعد /team وأي مسارات موارد بعد invoices/. سيكون معرّف الموارد المنتظم المسموح به في طلب بيانات من واجهة برمجة التطبيقات هو proxyBasePath/team/finance/invoices/company/a.
إذا توقّفت مسارات موارد "منتج واجهة برمجة التطبيقات" الحالية عن العمل على النحو المتوقّع بعد هذا الإصدار، اضبط السمة التالية في مؤسستك للرجوع إلى السلوك السابق: 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 جديدة في إعدادات خادم وكيل لواجهة برمجة التطبيقات. في ما يلي كيفية إجراء ذلك باستخدام مثال الدقائق الثلاث:
- أولاً، احرص على ضبط موازن التحميل وجهاز التوجيه ومعالج الرسائل على المهلة بعد 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، ضبط مهلة لخادم وكيل 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 | واجهة برمجة التطبيقات في "إحصاءات Google" التي تستخدم 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 بشكل صحيح عند الاستيراد (لا يتم تعيين النتائج لمتغيرات الإخراج كما هو موثّق) |