شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
در روز سهشنبه، 30 آگوست 2016، نسخه جدیدی از Apigee Edge را برای فضای ابری عمومی منتشر کردیم.
ویژگیها و بهروزرسانیهای جدید
در ادامه به ویژگیها و بهروزرسانیهای جدید این نسخه اشاره خواهیم کرد.
بارهای JSON در پیام اختصاص و خطای Raise
با این بهبود، هیچ راه حلی برای اطمینان از قالببندی صحیح پیام JSON لازم نیست و متغیرها را میتوان با استفاده از آکولاد بدون ایجاد JSON نامعتبر مشخص کرد. برای مثال، کد زیر مقدار message.content را در پیام JSON وارد میکند:
<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>
اگر از یک راه حل موقت استفاده کرده باشید، کد شما به کار خود ادامه خواهد داد. همچنین میتوانید به جای آکولاد از variablePrefix و variableSuffix برای نشان دادن متغیرها استفاده کنید.
به عنصر <Set><Payload> در اسناد مرجع سیاست Assign Message و سیاست Raise Fault مراجعه کنید. (APIRT-1160)
بهبودهای سیاست XML به JSON
سیاست تبدیل XML به JSON با قابلیتهای زیر بهبود یافته است. میتوانید این سیاست را به صورت زیر پیکربندی کنید:
- برخی از عناصر XML را هنگام تبدیل به عنوان آرایه در نظر بگیرید، که مقادیر را در سند JSON داخل براکتهای '[]' قرار میدهد.
- سطوح سلسله مراتب سند XML را در سند JSON نهایی حذف یا محدود کنید.
برای اطلاعات بیشتر، به سیاست تبدیل XML به JSON مراجعه کنید. (APIRT-1144)
چندین کاراکتر جایگزین در مسیرهای منبع محصول API
هنگام تعریف مسیرهای منابع در API Product، میتوانید در چندین جای مسیر منبع، از wildcardها استفاده کنید. برای مثال، /team/*/invoices/** فراخوانیهای API با هر مقدار پس از /team و هر مسیر منبع پس از invoices/ را مجاز میداند. یک URI مجاز در یک فراخوانی API proxyBasePath/team/finance/invoices/company/a خواهد بود.
اگر پس از این انتشار، مسیرهای منبع API Product موجود شما طبق انتظار از کار افتادند، ویژگی زیر را در سازمان خود تنظیم کنید تا به رفتار قبلی بازگردد: features.enableStandardWildCardMatchForAPIProductResources = true
(MGMT-3273)
توابع رمزنگاری در جاوا اسکریپت
مجموعهای جدید از توابع crypto جاوا اسکریپت با کارایی بالا برای ایجاد، دریافت و بهروزرسانی اشیاء زیر در دسترس است: MD5، SHA-1، SHA256، SHA512. شیء رمزنگاری همچنین به شما امکان میدهد تاریخ را در قالبهای مختلف دریافت کنید. برای اطلاعات بیشتر، به مدل شیء جاوا اسکریپت مراجعه کنید. (APIRT-2886)
بررسی نسخه JAR جاوا Callout
هنگام آپلود یک منبع JAR جاوا در یک پروکسی API، اگر نسخه منبع جاوا با نسخه جاوای پشتیبانیشده توسط Edge که در بخش نرمافزارهای پشتیبانیشده و نسخههای پشتیبانیشده (MGMT-3420) ذکر شده است، ناسازگار باشد، کد وضعیت HTTP 400 (به جای 500) بازگردانده میشود.
اعتبارسنجی منابع پروکسی API
وقتی فایلهای منبع پروکسی API (مانند فایلهای جاوا اسکریپت یا JAR جاوا) در محدوده محیط یا سازمان ذخیره شدهاند، چارچوب اعتبارسنجی دیگر شما را ملزم نمیکند که آن منابع را در سطح پروکسی API در یک بسته پروکسی نیز برای وارد کردن و گذراندن اعتبارسنجی لحاظ کنید. اعتبارسنجی منبع اکنون در زمان استقرار انجام میشود، نه در زمان وارد کردن. (MGMT-1430)
پیکربندی زمان انتظار برای پروکسیهای API به صورت جداگانه
شما میتوانید پروکسیهای API را طوری پیکربندی کنید که پس از یک زمان مشخص (با وضعیت 504 gateway timeout) از کار بیفتند. مورد استفاده اصلی برای مشتریان Private Cloud است که پروکسیهای API دارند که اجرای آنها زمان بیشتری طول میکشد. به عنوان مثال، فرض کنید به پروکسیهای خاصی نیاز دارید که در 3 دقیقه از کار بیفتند. میتوانید از یک ویژگی جدید api.timeout در پیکربندی برای یک پروکسی API استفاده کنید. در اینجا نحوه انجام این کار با مثال 3 دقیقهای آورده شده است:
- ابتدا، حتماً متعادلکننده بار، روتر و پردازنده پیام را طوری پیکربندی کنید که پس از ۳ دقیقه، زمان انقضا داشته باشند.
- سپس پروکسیهای مربوطه را طوری پیکربندی کنید که در عرض ۳ دقیقه از دسترس خارج شوند. مقدار را بر حسب میلیثانیه مشخص کنید. برای مثال:
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/v1/weather</BasePath> <Properties> <!-- api.timeout is in milliseconeds --> <Property name="api.timeout">180000</Property> </Properties> ... - با این حال، توجه داشته باشید که افزایش زمانهای انتظار سیستم میتواند منجر به مشکلات عملکردی شود، زیرا همه پروکسیهایی که تنظیم api.timeout ندارند، از زمانهای انتظار جدید و بالاتر متعادلکننده بار، روتر و پردازنده پیام استفاده میکنند. بنابراین سایر پروکسیهای API را که به زمانهای انتظار طولانیتری نیاز ندارند، طوری پیکربندی کنید که از زمانهای انتظار پایینتری استفاده کنند. به عنوان مثال، کد زیر یک پروکسی API را طوری تنظیم میکند که پس از ۱ دقیقه زمان انتظارش تمام شود:
<Property name="api.timeout">60000</Property>
مشتریان ابری، که نمیتوانند زمانهای وقفه Edge را تغییر دهند، میتوانند زمان وقفه پروکسی API را نیز پیکربندی کنند، البته تا زمانی که این زمان وقفه کوتاهتر از زمان وقفه استاندارد پردازنده پیام Edge که ۵۷ ثانیه است، باشد.
شما نمیتوانید مقدار را با یک متغیر پر کنید. این ویژگی در مرجع ویژگیهای Endpoint پوشش داده شده است. (APIRT-1778)
سیاست TLS/SSL برای ثبت پیامها
<KeyStore> و <TrustStore> را میتوان در پیکربندی SSLInfo در سیاست ثبت پیام تنظیم کرد و امکان TLS/SSL یکطرفه و دوطرفه را با یک سرویس ثبت رویداد فراهم کرد. شما SSLInfo را در سیاست ثبت پیام به همان روشی که در یک پروکسی TargetEndpoint پیکربندی میکنید، پیکربندی میکنید. با این حال، TLS/SSL ثبت پیام فقط از پروتکل TCP پشتیبانی میکند. (APIRT-1858)
اشکالات برطرف شد
اشکالات زیر در این نسخه برطرف شدهاند. این لیست در درجه اول برای کاربرانی است که میخواهند بررسی کنند آیا تیکتهای پشتیبانی آنها برطرف شده است یا خیر. این لیست برای ارائه اطلاعات دقیق برای همه کاربران طراحی نشده است.
| شناسه مسئله | توضیحات |
|---|---|
| سِنگ-۶۰۹ | فراخوانیهای زمان اجرا هنگام حذف truststore مرتبط یا هنگام حذف گواهی معتبر در truststore با شکست مواجه نمیشوند. |
| MGMT-3404 | مشاهده/بازیابی لاگهای Node.js و استقرار پروکسیها بسیار کند است. |
| MGMT-3400 | فراخوانی API مدیریت /userroles در صورتی که کاربری که فراخوانی را انجام میدهد علامت "+" در نام خود داشته باشد، با شکست مواجه میشود. |
| MGMT-3368 | java.lang.ArrayIndexOutOfBoundsException: 1، هنگام وارد کردن یک بسته API Proxy که حاوی دایرکتوری resources/node/resources است. |
| MGMT-3364 | OAuthV2: بررسی redirect_uri |
| MGMT-3319 | فهرست کردن ورودیهای یک گاوصندوق که یکی از ورودیهای آن مقدار تهی دارد، برای سازمانها (CPS و غیر CPS) کار نمیکند. |
| MGMT-3226 | پرسوجو در سطح سازمان/محیط نباید تمام دادهها را دریافت کند و باعث خرابی API شود. نسخه Release_160302 باگی داشت که در آن فهرستبندی منابع در سطح سازمان/سطح محیط در صورتی که اندازه تجمعی منابع بالاتر از ۱۶ مگابایت باشد، با شکست مواجه میشد. این اصلاحیه این مشکل را برطرف میکند. |
| AXAPP-2429 | API تحلیلی با استفاده از response_status_code خطای دسترسی به دادهها را برمیگرداند |
| AXAPP-2386 | رفع مشکل محتوای خالی گزارشها در گزارشهای ایمیل روزانه آنالیتیکس |
| AXAPP-2347 | عدم دریافت ایمیلهای خلاصه تحلیل روزانه |
| APIRT-3141 | فراخوانیهای جاوا هنگام فراخوانی new ExecutionResult() با شکست مواجه میشوند، زیرا سازنده به صورت خصوصی تعریف شده است. |
| APIRT-3140 | خطمشی ServiceCallout در فراخوانیهای API مربوط به HEAD کار نمیکند |
| APIRT-3131 | هنگام استفاده از کسب درآمد با یک ارائه دهنده احراز هویت خارجی، مقدار createdBy برای یک پروکسی API به اشتباه نمایش داده میشود. |
| APIRT-3121 | تغییر ایجاد شده در فایل منبع Org صد در صد مؤثر نیست |
| APIRT-3117 | MP به ۱۰۰٪ استفاده از CPU رسید و ارائه ترافیک را متوقف کرد |
| APIRT-3016 | خطاهای «زمان تماس تمام شد» روتر در هنگام استقرار |
| APIRT-2975 | خرابی بسته گواهی را بارگذاری کنید |
| APIRT-2955 | نمیتوان ویژگیهای خاصی از دادههای پاسخ JSON را برای هدر نوع محتوای شکایت FHIR با عنوان 'application/json+fhir' پنهان کرد. |
| APIRT-2946 | سیاست OAuthV2-RefreshToken ویژگیها را پنهان نمیکند، حتی اگر نمایش روی نادرست تنظیم شده باشد |
| APIRT-2908 | اجرای TLS1.2 برای فراخوانی API داخلی پس از بهروزرسانی TLS1.2 در virtualhost الزامی است. |
| APIRT-2901 | پاسخهای Gzip شده که از حافظه پنهان برگردانده میشوند، دو بار فشرده میشوند. |
| APIRT-2873 | نمایندگان مجلس پس از حذف محصولات/توسعهدهندگان/پروکسیها، NullPointerException مربوط به VerifyAPIKey را صادر میکنند |
| APIRT-2871 | سیاستهای متمرکز بر IO دو بار در Trace ظاهر میشوند |
| APIRT-2825 | خطای گرامری در پاسخ خطای accesstoken |
| APIRT-2750 | خرابیهای ترافیکی در سازمانهای خاص زیاد است |
| APIRT-2685 | با خطای ناشناخته، ترافیک نمیتواند جریان یابد |
| APIRT-2647 | خطای «جریان ورودی اصلی صفر بایت را برگرداند» با nonprod/dev |
| APIRT-2630 | مشکلات متناوب هنگام تلاش برای خواندن مقدار از حافظه پنهان |
| APIRT-2620 | برای برخی از مراحل مسدود کردن، مخزن نخ جداگانهای در نظر گرفته شده است. |
| APIRT-2610 | java.lang.ClassCastException با سیاست کش پاسخ |
| APIRT-2608 | خطای تجزیه هدرهای آخرین اصلاحشده در سیاستهای کش پاسخ |
| APIRT-2605 | متغیرهای «سازمان» و «محیط» نباید از طریق سیاستها بازنویسی شوند. |
| APIRT-2566 | سیاست OAuthV2 هدر WWW-Authenticate ناقص را برمیگرداند |
| APIRT-2491 | بهروزرسانی TargetServer به دلیل وقفه زمانی RPC بین مدیریت و mps ناموفق بود. |
| APIRT-2386 | دامنه رشته خالی در یک محصول API با دامنههای مجاز OAuth خالی ایجاد میشود. |
| APIRT-2383 | به نظر نمیرسد سیاستهای تبدیل XSL هیچ دادهای را در صورت بروز خطا ثبت کنند. |
| APIRT-2364 | متغیرهای جریان خطای OAuth در صورت بروز خطا بهروزرسانی نمیشوند |
| APIRT-2216 | رویدادهای ارسالی از سرور - جریان رویداد در تولید مشکل دارد |
| APIRT-2079 | اشکالزدایی فراخوانی cURL پس از انقضای زمان انقضا برای جلسه ایجاد شده متوقف نمیشود |
| APIRT-1495 | محافظت در برابر تهدید XML نوع محتوای fhir را تشخیص نمیدهد |
| APIRT-347 | سیاست XSL هنگام وارد کردن به درستی اعتبارسنجی نمیشود (نتایج را طبق مستندات به متغیرهای خروجی اختصاص نمیدهد) |