16.08.17 - Apigee Edge برای یادداشت‌های انتشار عمومی Cloud

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

در روز سه شنبه 30 آگوست 2016، نسخه جدیدی از Apigee Edge را برای Public Cloud منتشر کردیم.

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

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

بارهای JSON در Assign Message and Raise Fault

هنگام تنظیم یک بار JSON با استفاده از خط‌مشی Assign Message یا Raise Fault، گاهی اوقات از کاربران خواسته می‌شد تا از راه‌حل‌هایی استفاده کنند تا مطمئن شوند پیام JSON به درستی در زمان اجرا قالب‌بندی شده است، مانند شروع payload با علامت معکوس "\" یا تعیین یک متغیر Prefix و VariableSuffix در عنصر Payload، حتی اگر هیچ متغیری در پیام استفاده نشده باشد.

با این بهبود، هیچ راه حلی برای اطمینان از قالب بندی مناسب پیام JSON مورد نیاز نیست، و متغیرها را می توان با استفاده از پرانتزهای فرفری بدون ایجاد JSON نامعتبر مشخص کرد. به عنوان مثال، موارد زیر مقدار message.content را در پیام JSON درج می کند:

<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>

اگر از یک راه حل استفاده کرده اید، کد شما همچنان به کار خود ادامه می دهد. همچنین می توانید از variablePrefix و variableSuffix به جای پرانتزهای فرفری برای نشان دادن متغیرها استفاده کنید.

عنصر <Set><Payload> را در اسناد مرجع خط مشی Assign Message and Raise Fault خط مشی مراجعه کنید. (APIRT-1160)

بهبود خط مشی XML به JSON

خط مشی XML به JSON با قابلیت های زیر بهبود یافته است. می توانید این خط مشی را به صورت زیر پیکربندی کنید:

  • در طول تبدیل، برخی از عناصر XML را به عنوان آرایه‌ها در نظر بگیرید، که مقادیر را در کروشه مربع "[ ]" در سند JSON قرار می‌دهد.
  • سطوح سلسله مراتب سند XML را در سند نهایی JSON حذف یا حذف کنید.

برای اطلاعات بیشتر، به خط مشی XML به JSON مراجعه کنید. (APIRT-1144)

چند علامت عام در مسیرهای منبع محصول API

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

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

(MGMT-3273)

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

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

چک کردن نسخه جاوا Callout JAR

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

اعتبار سنجی منابع پروکسی API

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

مهلت زمانی را برای تک تک پراکسی های API پیکربندی کنید

می‌توانید پروکسی‌های API را طوری پیکربندی کنید که پس از یک زمان مشخص (با وضعیت مهلت زمانی دروازه 504) به پایان برسد. مورد استفاده اولیه برای مشتریان Private Cloud است که پروکسی‌های API دارند که اجرای آنها بیشتر طول می‌کشد. به عنوان مثال، بگویید که برای 3 دقیقه به پراکسی های خاصی نیاز دارید. می‌توانید از ویژگی api.timeout جدید در پیکربندی برای یک پراکسی API استفاده کنید. در اینجا نحوه انجام این کار با مثال 3 دقیقه ای آمده است:

  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 از مهلت زمانی جدید، روتر و پردازشگر پیام استفاده می‌کنند. بنابراین سایر پراکسی‌های API را پیکربندی کنید که برای استفاده از تایم‌اوت‌های کمتر به زمان‌های زمانی طولانی‌تری نیاز ندارند. به عنوان مثال، موارد زیر یک پروکسی API را پس از 1 دقیقه تنظیم می‌کند که زمان آن تمام شود:
    <Property name="api.timeout">60000</Property>

مشتریان ابری که نمی‌توانند مهلت‌های زمانی Edge را تغییر دهند، می‌توانند یک مهلت زمانی پروکسی API را نیز پیکربندی کنند، البته تا زمانی که مهلت زمانی کوتاه‌تر از مهلت زمانی استاندارد پردازشگر پیام Edge یعنی 57 ثانیه باشد.

شما نمی توانید مقدار را با یک متغیر پر کنید. این ویژگی در مرجع خواص Endpoint پوشش داده شده است. (APIRT-1778)

TLS/SSL برای سیاست ثبت پیام

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

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

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

شناسه شماره توضیحات
SECENG-609 تماس‌های زمان اجرا در حین حذف ذخیره‌سازی اعتماد مرتبط یا زمانی که گواهی معتبر در فروشگاه اعتماد حذف می‌شود، با شکست مواجه نمی‌شوند.
MGMT-3404 مشاهده/بازیابی گزارش‌های Node.js و استقرار پراکسی‌ها بسیار کند است
MGMT-3400 اگر کاربری که تماس را انجام می‌دهد علامت «+» در نام داشته باشد، تماس با API مدیریت userroles/ انجام نمی‌شود.
MGMT-3368 java.lang.ArrayIndexOutOfBoundsException: 1، هنگام وارد کردن یک بسته پروکسی API که حاوی فهرست منابع/گره/منابع است
MGMT-3364 OAuthV2: بررسی redirect_uri
MGMT-3319 ورودی‌های فهرست در یک خزانه که دارای مقدار تهی در یکی از ورودی‌ها هستند، برای سازمان‌ها (CPS و غیر CPS) کار نمی‌کنند.
MGMT-3226 پرس و جو در سطح سازمان/محیط نباید همه داده ها را که باعث از کار افتادن API می شود، بکشد
Release_160302 یک اشکال داشت که در آن فهرست کردن منابع در سطح سازمان/محیط انجام نشد، اگر اندازه تجمعی منابع بالاتر از 16 مگابایت باشد، این اصلاح آن را برطرف می‌کند.
AXAPP-2429 Analytics API با استفاده از answer_status_code خطای دسترسی به داده را برمی گرداند
AXAPP-2386 محتوای گزارش‌های خالی را در گزارش‌های ایمیل روزانه تحلیلی برطرف کنید
AXAPP-2347 دریافت نکردن ایمیل‌های خلاصه تحلیلی روزانه
APIRT-3141 هنگام فراخوانی () ExecutionResult جدید، Callout های جاوا با شکست مواجه می شوند، زیرا سازنده خصوصی شده است.
APIRT-3140 خط مشی ServiceCallout در تماس‌های API HEAD کار نمی‌کند
APIRT-3131 هنگام استفاده از کسب درآمد با ارائه‌دهنده احراز هویت خارجی، برای یک پروکسی API نشان داده شده است اشتباه ایجاد شده توسط
APIRT-3121 تغییر فایل منبع سازمان 100٪ موثر نیست
APIRT-3117 MP به 100% استفاده از CPU رسید و سرویس دهی به ترافیک را متوقف کرد
APIRT-3016 خطاهای روتر "تماس تمام شد" در استقرار
APIRT-2975 آپلود بسته گواهی ناموفق بود
APIRT-2955 نمی‌توان ویژگی‌های خاصی از داده‌های پاسخ JSON را برای FHIR-complaint Content-Type header 'application/json+fhir' پنهان کرد
APIRT-2946 سیاست OAuthV2-RefreshToken ویژگی ها را پنهان نمی کند حتی اگر نمایش روی نادرست تنظیم شده باشد
APIRT-2908 اجرای TLS1.2 برای تماس داخلی API پس از به‌روزرسانی TLS1.2 در میزبان مجازی الزامی است
APIRT-2901 پاسخ‌های Gzipped که از کش بازگردانده می‌شوند دوبار فشرده می‌شوند
APIRT-2873 نمایندگان مجلس NullPointerException مربوط به VerifyAPIKey را پس از حذف محصولات/توسعه دهندگان/پراکسی ها پرتاب می کنند.
APIRT-2871 سیاست های IOIntensive دو بار در 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 Transformation هیچ داده‌ای را در صورت بروز خطا ثبت نمی‌کنند
APIRT-2364 متغیرهای جریان خطای OAuth در صورت بروز خطا به روز نمی شوند
APIRT-2216 سرور رویدادها را ارسال کرد - جریان رویداد دارای مشکلاتی در تولید است
APIRT-2079 تماس DEBUG CURL پس از انقضای زمان برای جلسه ایجاد شده متوقف نمی شود
APIRT-1495 XML Threat Protection به نوع Content-Type نمی رسد
APIRT-347 خط‌مشی XSL در هنگام وارد کردن به درستی تأیید نشده است (نتایج را طبق مستندات به متغیرهای خروجی اختصاص نمی‌دهد)