‫۱۷/۰۸/۱۶ - یادداشت‌های انتشار Apigee Edge برای «ابر عمومی»

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

در سه‌شنبه ۳۰ اوت ۲۰۱۶، نسخه جدیدی از Apigee Edge را برای «ابر عمومی» منتشر کردیم.

ویژگی‌های جدید و به‌روزرسانی‌ها

در زیر ویژگی‌ها و به‌روزرسانی‌های جدید در این نسخه پخش آمده است.

بار JSON در «اختصاص دادن پیام» و «ایجاد خطا»

هنگام تنظیم پایه‌بار JSON بااستفاده از خط‌مشی «اختصاص پیام» یا «ایجاد خطا»، کاربران گاهی اوقات ملزم بودند از راهکارهای دور زدن برای اطمینان از قالب‌بندی صحیح پیام JSON در زمان اجرا استفاده کنند، مثلاً پایه‌بار را با خط مورب معکوس «\» شروع کنند یا متغیرPrefix و متغیرSuffix را در عنصر «پایه‌بار» مشخص کنند، حتی اگر هیچ متغیری در پیام استفاده نشده باشد.

با این بهبود، برای اطمینان از قالب‌بندی صحیح پیام 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)

چندین نویسه عام در مسیرهای منبع «محصول میانای برنامه‌سازی کاربردی»

هنگام تعریف مسیرهای منبع در «محصول API»، می‌توانید در چندین مکان در مسیر منبع از نویسه‌های عام استفاده کنید. برای مثال، /team/*/invoices/** فراخوانی‌های API را با هر مقدار بعداز /team و هر مسیر منبع بعداز invoices/ مجاز می‌کند. نشانی وب مجاز در تماس با «میانای برنامه‌سازی کاربردی» proxyBasePath/team/finance/invoices/company/a خواهد بود.

اگر پس‌از این انتشار، مسیرهای منبع «محصول میانای برنامه‌سازی کاربردی» موجود شما طبق انتظار کار نکرد، دارایی زیر را در سازمانتان تنظیم کنید تا به عملکرد قبلی برگردید: features.enableStandardWildCardMatchForAPIProductResources = true

(MGMT-3273)

کارکردهای رمزنگاری در جاوا اسکریپت

مجموعه جدیدی از توابع crypto جاوا اسکریپت با عملکرد بالا برای ایجاد، دریافت، و به‌روزرسانی موارد زیر دردسترس است: MD5،‏ SHA-1،‏ SHA256،‏ SHA512. شیء رمزارز همچنین به شما امکان می‌دهد تاریخ را در قالب‌های مختلف دریافت کنید. برای اطلاعات بیشتر، به مدل شیء جاوا اسکریپت مراجعه کنید. ‫(APIRT-2886)

بررسی نسخه JAR نوشته راهنمای جاوا

هنگام بارگذاری منبع Java JAR در پراکسی API، اگر نسخه منبع Java با نسخه Java پشتیبانی‌شده در Edge که در نرم‌افزار پشتیبانی‌شده و نسخه‌های پشتیبانی‌شده فهرست شده است سازگار نباشد، کد وضعیت HTTP 400 (به‌جای 500) برگردانده می‌شود. (MGMT-3420)

اعتبارسنجی منابع پراکسی میانای برنامه‌سازی کاربردی

وقتی فایل‌های منبع کارگزار API (مثل جاوا اسکریپت یا JAR جاوا) در محدوده محیط یا سازمان ذخیره شده باشد، چارچوب اعتبارسنجی دیگر از شما نمی‌خواهد که آن منابع را در سطح کارگزار API در بسته کارگزار برای وارد کردن و گذراندن اعتبارسنجی اضافه کنید. اعتبارسنجی منبع اکنون در زمان استقرار انجام می‌شود، نه در زمان وارد کردن. (MGMT-1430)

مهلت زمانی را برای پراکسی‌های میانای برنامه‌سازی کاربردی جداگانه پیکربندی کنید

می‌توانید کارگزاران نیابتی API را پیکربندی کنید تا پس‌از مدت زمان مشخصی (با وضعیت ۵۰۴ gateway timeout) زمان‌بندی شوند. مورد استفاده اصلی برای مشتریان «ابر خصوصی» است که کارگزاران میانای برنامه‌سازی کاربردی دارند که اجرای آن‌ها بیشتر طول می‌کشد. برای مثال، فرض کنید به پراکسی‌های خاصی نیاز دارید که پس‌از ۳ دقیقه زمان آن‌ها به‌پایان برسد. می‌توانید از دارایی api.timeout جدیدی در پیکربندی برای پراکسی میانای برنامه‌سازی کاربردی استفاده کنید. در اینجا نحوه انجام آن با مثال ۳ دقیقه‌ای آورده شده است:

  1. ابتدا، مطمئن شوید که ترازکننده بار، رهیاب، و پردازشگر پیام را پیکربندی کرده باشید تا پس‌از ۳ دقیقه زمان‌بندی شوند.
  2. سپس پراکسی‌های مربوطه را پیکربندی کنید تا پس‌از ۳ دقیقه زمان آن‌ها به‌پایان برسد. مقدار را به میلی‌ثانیه مشخص کنید. برای مثال:
    <ProxyEndpoint name="default">
      <HTTPProxyConnection>
        <BasePath>/v1/weather</BasePath>
        <Properties>
          <!-- api.timeout is in milliseconeds -->
          <Property name="api.timeout">180000</Property>
        </Properties>
        ...
  3. بااین‌حال، توجه داشته باشید که افزایش زمان‌های وقفه سیستم می‌تواند منجر به مشکلات عملکرد شود، زیرا همه پراکسی‌های بدون تنظیم api.timeout از زمان‌های وقفه جدید، بالاتر، ترازکننده بار، مسیریاب، و پردازشگر پیام استفاده می‌کنند. بنابراین پراکسی‌های میانای برنامه‌سازی کاربردی دیگری را که به زمان‌های انتظار طولانی‌تر نیاز ندارند پیکربندی کنید تا از زمان‌های انتظار کوتاه‌تر استفاده کنند. برای مثال، مجموعه زیر کارگزار پراکسی API را تنظیم می‌کند تا پس‌از ۱ دقیقه زمان آن به‌پایان برسد:
    <Property name="api.timeout">60000</Property>

مشتریان Cloud که نمی‌توانند زمان‌های اتمام Edge را تغییر دهند، می‌توانند زمان اتمام پراکسی API را نیز پیکربندی کنند، به‌شرطی که زمان اتمام کوتاه‌تر از زمان اتمام استاندارد پردازشگر پیام Edge (۵۷ ثانیه) باشد.

نمی‌توانید مقدار را با متغیر پر کنید. این دارایی در مرجع دارایی‌های نقطه پایانی پوشش داده شده است. ‫(APIRT-1778)

خط‌مشی «امنیت لایه انتقال»/ پوسته ایمن برای ثبت پیام

<KeyStore> و <TrustStore> را می‌توان در پیکربندی SSLInfo در خط‌مشی «گزارش‌گیری پیام» تنظیم کرد و «امنیت لایه انتقال»/ SSL یک‌طرفه و دوطرفه را با سرویس گزارش‌گیری مجاز کرد. SSLInfo را در خط‌مشی «گزارش‌گیری پیام» به همان روشی پیکربندی می‌کنید که در پراکسی TargetEndpoint پیکربندی می‌کنید. بااین‌حال، «گزارش‌گیری پیام» TLS/SSL فقط از پروتکل TCP پشتیبانی می‌کند. ‫(APIRT-1858)

اشکالات رفع شد

اشکالات زیر در این نسخه پخش برطرف شده است. این فهرست عمدتاً برای کاربرانی است که می‌خواهند ببینند آیا درخواست‌های پشتیبانی‌شان برطرف شده است یا نه. این ویژگی برای ارائه اطلاعات دقیق به همه کاربران طراحی نشده است.

شناسه مشکل شرح
SECENG-609 تماس‌های زمان اجرا درطول حذف مخزن اعتماد مرتبط یا وقتی گواهینامه معتبر در مخزن اعتماد حذف می‌شود ناموفق نیستند
MGMT-3404 مشاهده/بازیابی گزارش‌های Node.js و استقرار پراکسی‌ها بسیار کند است
MGMT-3400 اگر کاربری که تماس برقرار می‌کند در نامش علامت «+» داشته باشد، تماس با API مدیریت /userroles ناموفق خواهد بود
MGMT-3368 java.lang.ArrayIndexOutOfBoundsException: 1، هنگام وارد کردن بسته «پراکسی میانای برنامه‌سازی کاربردی» که حاوی دایرکتوری resources/node/resources است
MGMT-3364 OAuthV2: بررسی redirect_uri
MGMT-3319 فهرست کردن ورودی‌های خزانه که یکی از ورودی‌های آن مقدار تهی دارد برای سازمان‌ها (CPS و غیرCPS) کار نمی‌کند
MGMT-3226 پُرسمان در سطح سازمان/محیط نباید باعث شود همه داده‌ها واکشی شود و درنتیجه میانای برنامه‌سازی کاربردی با خطا مواجه شود
‫Release_160302 اشکالی داشت که در آن فهرست منابع در سطح سازمان/محیط درصورتی‌که اندازه تجمعی منابع بیشتر از ۱۶ مگابایت بود با خطا مواجه می‌شد. این اصلاحیه این مشکل را برطرف می‌کند.
AXAPP-2429 ‫Analytics API بااستفاده از response_status_code خطای دسترسی به داده‌ها را برمی‌گرداند
AXAPP-2386 رفع مشکل محتوای گزارش‌های خالی در گزارش‌های ایمیلی روزانه Analytics
AXAPP-2347 عدم دریافت ایمیل‌های خلاصه تجزیه‌وتحلیل روزانه
APIRT-3141 «تماس‌های Java» هنگام فراخوانی new ExecutionResult()‎ با خطا مواجه می‌شود، زیرا سازنده خصوصی شده است
APIRT-3140 خط‌مشی «دعوت به اقدام» در فراخوانی‌های HEAD API کار نمی‌کند
APIRT-3131 نمایش نادرست createdBy برای «پراکسی میانای برنامه‌سازی کاربردی» هنگام استفاده از درآمدزایی با ارائه‌دهنده اصالت‌سنجی خارجی
APIRT-3121 تغییر فایل منبع سازمان ۱۰۰٪ مؤثر نیست
APIRT-3117 ‫MP به ۱۰۰٪ استفاده از CPU رسید و ارائه ترافیک را متوقف کرد
APIRT-3016 خطاهای «مهلت زمانی تماس با رهیاب تمام شد» در استقرارها
APIRT-2975 بارگذاری ناموفق دسته گواهینامه
APIRT-2955 نمی‌توان سرایند «نوع محتوا» سازگار با FHIR را برای «application/json+fhir» داده‌های پاسخ JSON پوشاند
APIRT-2946 خط‌مشی OAuthV2-RefreshToken مشخصه‌ها را پنهان نمی‌کند، حتی اگر نمایش روی نادرست تنظیم شده باشد
APIRT-2908 اجرای TLS1.2 برای تماس با میانای برنامه‌سازی کاربردی داخلی پس‌از به‌روزرسانی TLS1.2 در میزبان مجازی الزامی است
APIRT-2901 پاسخ‌های فشرده‌شده با Gzip که از حافظه نهان برگردانده می‌شوند، دوبرابر فشرده می‌شوند
APIRT-2873 پس‌از حذف محصولات/ توسعه‌دهندگان/ پراکسی‌ها، MPs خطای NullPointerException مربوط به VerifyAPIKey را نشان می‌دهد products/developers/proxies
APIRT-2871 خط‌مشی‌های IOIntensive که دوبار در «ردیابی» نشان داده می‌شود
APIRT-2825 خطای دستوری در پاسخ خطای accesstoken
APIRT-2750 خطاهای ترافیک در سازمان خاصی زیاد است
APIRT-2685 ترافیک نمی‌تواند با خطای ناشناخته‌ای که ایجاد شده است جریان یابد
APIRT-2647 خطای «جریان ورودی زیرین صفر بایت برگرداند» با غیرتولید/توسعه
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 محدوده رشته خالی در محصول میانای برنامه‌سازی کاربردی با محدوده‌های OAuth مجاز خالی ایجاد می‌شود
APIRT-2383 به‌نظر می‌رسد خط‌مشی‌های «تبدیل XSL» هیچ داده‌ای را درصورت بروز خطا ثبت نمی‌کنند
APIRT-2364 متغیرهای جریان خطای OAuth درصورت بروز خطا به‌روز نمی‌شوند
APIRT-2216 رویدادهای ارسال‌شده از سرور - جاری‌سازی رویداد در محصول مشکل دارد
APIRT-2079 تماس اشکال‌زدایی cURL پس‌از منقضی شدن زمان انتظار برای جلسه ایجادشده متوقف نمی‌شود
APIRT-1495 «محافظت دربرابر تهدید XML» نوع محتوای fhir را شناسایی نمی‌کند
APIRT-347 «خط‌مشی XSL» هنگام وارد کردن به‌درستی اعتبارسنجی نمی‌شود (نتایج را به متغیرهای برونداد همان‌گونه که مستند شده است اختصاص نمی‌دهد)