১৬.০৮.১৭ - Apigee Edge for Public Cloud রিলিজ নোট

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন।
তথ্য

৩০ আগস্ট, ২০১৬ তারিখে, আমরা পাবলিক ক্লাউডের জন্য Apigee Edge-এর নতুন ভার্সন প্রকাশ করেছি।

নতুন ফিচার ও আপডেট

এই রিলিজে নতুন ফিচার ও আপডেটগুলি নিচে দেওয়া হল।

Assign Message এবং Raise Fault-এ JSON পেলোড

Assign Message বা Raise Fault নীতি ব্যবহার করে JSON পেলোড সেট করার সময়, রানটাইমে JSON মেসেজ সঠিকভাবে ফর্ম্যাট করা হয়েছে কিনা তা নিশ্চিত করতে ব্যবহারকারীদের কখনও কখনও ওয়ার্কঅ্যারাউন্ড ব্যবহার করতে হত, যেমন পেলোডকে ব্যাকস্ল্যাশ "\" দিয়ে শুরু করা অথবা পেলোড এলিমেন্টে variablePrefix ও variableSuffix নির্দিষ্ট করা, এমনকি মেসেজে কোনও ভেরিয়েবল ব্যবহার করা না হলেও।

এই এনহ্যান্সমেন্টের ফলে, JSON মেসেজ যাতে সঠিকভাবে ফর্ম্যাট করা হয় তা নিশ্চিত করতে কোনও ওয়ার্কঅ্যারাউন্ডের প্রয়োজন হয় না এবং ভুল JSON তৈরি না করেই কার্লি ব্রেসেস ব্যবহার করে ভেরিয়েবল নির্দিষ্ট করা যায়। যেমন, নিম্নলিখিত JSON মেসেজে message.content-এর ভ্যালু ইনসার্ট করে:

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

আপনি কোনও ওয়ার্কঅ্যারাউন্ড ব্যবহার করে থাকলে, আপনার কোড আগের মতোই কাজ করা চালিয়ে যাবে। এছাড়াও, ভেরিয়েবল বোঝাতে কার্লি ব্রেসেসের পরিবর্তে আপনি variablePrefix এবং variableSuffix ব্যবহার করতে পারবেন।

Assign Message নীতি ও Raise Fault নীতি রেফারেন্স ডকুমেন্টে <Set><Payload> এলিমেন্ট দেখুন। (APIRT-1160)

XML থেকে JSON নীতি সংক্রান্ত উন্নতি

XML থেকে JSON নীতিতে নিম্নলিখিত সুবিধা যোগ করা হয়েছে। আপনি নীতি কনফিগার করে এগুলি করতে পারবেন:

  • কনভার্সনের সময় কিছু XML এলিমেন্টকে অ্যারে হিসেবে বিবেচনা করা হয়, এর ফলে JSON ডকুমেন্টে ভ্যালুগুলি স্কোয়ার ব্র্যাকেটের মধ্যে '[ ]' রাখা হয়।
  • ফাইনাল JSON ডকুমেন্টে XML ডকুমেন্ট হায়ারার্কির লেভেল বাদ দিন বা সরিয়ে দিন।

আরও তথ্যের জন্য, XML থেকে JSON নীতি দেখুন। (APIRT-1144)

API প্রোডাক্ট রিসোর্স পাথে একাধিক ওয়াইল্ডকার্ড

API প্রোডাক্টে রিসোর্স পাথ নির্ধারণ করার সময়, আপনি রিসোর্স পাথের একাধিক জায়গায় ওয়াইল্ডকার্ড যোগ করতে পারবেন। যেমন, /team/*/invoices/** /team-এর পরে যেকোনও একটি ভ্যালু এবং invoices/-এর পরে যেকোনও রিসোর্স পাথ সহ API কল করার অনুমতি দেয়। API কলে অনুমোদিত URI হল proxyBasePath/team/finance/invoices/company/a।

এই রিলিজের পরে আপনার আগে থেকে থাকা API প্রোডাক্ট রিসোর্স পাথ প্রত্যাশিতভাবে কাজ না করলে, আগের বিহেভিয়ারে ফিরে যেতে আপনার সংস্থার জন্য নিম্নলিখিত প্রপার্টি সেট করুন: features.enableStandardWildCardMatchForAPIProductResources = true

(MGMT-3273)

জাভাস্ক্রিপ্টে ক্রিপ্টো ফাংশন

নিম্নলিখিত হ্যাশ অবজেক্ট তৈরি, পাওয়া ও আপডেট করার জন্য উচ্চ-পারফর্ম্যান্স JavaScript crypto ফাংশনের একটি নতুন সেট উপলভ্য: MD5, SHA-1, SHA256, SHA512. এছাড়াও, ক্রিপ্টো অবজেক্ট আপনাকে বিভিন্ন ফর্ম্যাটে তারিখ দেখতে দেয়। আরও তথ্যের জন্য, জাভাস্ক্রিপ্ট অবজেক্ট মডেল দেখুন। (APIRT-2886)

Java কলআউট JAR ভার্সন চেকিং

API প্রক্সিতে Java JAR রিসোর্স আপলোড করার সময়, Java রিসোর্সের ভার্সন Edge-এ কাজ করে এমন Java ভার্সনের সাথে মানানসই না হলে, HTTP 400 স্ট্যাটাস কোড রিটার্ন করা হয় (500-এর পরিবর্তে)। কাজ করে এমন সফ্টওয়্যার ও কাজ করে এমন ভার্সন লিঙ্কে এই বিষয়ে বিস্তারিত তথ্য দেওয়া আছে। (MGMT-3420)

API প্রক্সি রিসোর্স যাচাইকরণ

আপনার কাছে API প্রক্সি রিসোর্স ফাইল (যেমন, JavaScript বা Java JAR) থাকলে, সেগুলি এনভায়রনমেন্ট বা অর্গানাইজেশন স্কোপে স্টোর করা হয়। যাচাইকরণ ফ্রেমওয়ার্ককে আর প্রক্সি বান্ডেলের মধ্যে API প্রক্সি লেভেলে সেইসব রিসোর্স অন্তর্ভুক্ত করতে হয় না। এর ফলে যাচাইকরণ প্রসেস সম্পূর্ণ করা যায়। এখন রিসোর্স যাচাইকরণ ইমপোর্ট করার সময় নয়, বরং ডেপ্লয় করার সময় হয়। (MGMT-1430)

আলাদা আলাদা API প্রক্সির জন্য টাইম-আউট কনফিগার করা

আপনি API প্রক্সি কনফিগার করতে পারেন যাতে নির্দিষ্ট সময় পরে সেগুলি টাইম-আউট হয়ে যায় (504 গেটওয়ে টাইম-আউট স্ট্যাটাস সহ)। এর প্রাথমিক ব্যবহার হল প্রাইভেট ক্লাউড গ্রাহকদের জন্য, যাদের API প্রক্সি এক্সিকিউট করতে বেশি সময় লাগে। যেমন, ধরুন, ৩ মিনিট পরে টাইম-আউট হয়ে যাবে এমন নির্দিষ্ট প্রক্সি আপনার প্রয়োজন। আপনি API প্রক্সির কনফিগারেশনে নতুন 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 প্রক্সি কনফিগার করুন যেগুলির জন্য বেশি টাইমআউট প্রয়োজন হয় না। যেমন, নিম্নলিখিত কোডটি ১ মিনিট পরে টাইম-আউট হওয়ার জন্য একটি API প্রক্সি সেট করে:
    <Property name="api.timeout">60000</Property>

যেসব ক্লাউড গ্রাহক Edge টাইম-আউট পরিবর্তন করতে পারেন না, তারা API প্রক্সি টাইম-আউটও কনফিগার করতে পারেন, তবে টাইম-আউট যেন স্ট্যান্ডার্ড Edge মেসেজ প্রসেসর টাইম-আউটের থেকে কম হয়, অর্থাৎ ৫৭ সেকেন্ডের কম।

আপনি ভেরিয়েবল দিয়ে ভ্যালু পূরণ করতে পারবেন না। এই প্রপার্টি এন্ডপয়েন্ট প্রপার্টি রেফারেন্স-এ কভার করা হয়েছে। (APIRT-1778)

মেসেজ লগিংয়ের জন্য TLS/SSL নীতি

<KeyStore> এবং <TrustStore>-কে মেসেজ লগিং নীতিতে SSLInfo কনফিগারেশনে সেট করা যেতে পারে, যা লগিং পরিষেবার সাথে একমুখী ও দ্বিমুখী TLS/SSL-এর অনুমতি দেয়। আপনি যেভাবে প্রক্সি TargetEndpoint-এ SSLInfo কনফিগার করেন, ঠিক সেইভাবেই মেসেজ লগিং নীতিতে কনফিগার করেন। তবে, মেসেজ লগিং TLS/SSL শুধুমাত্র TCP প্রোটোকল সমর্থন করে। (APIRT-1858)

সমস্যার সমাধান করা হয়েছে

এই রিলিজে নিম্নলিখিত বাগগুলি সমাধান করা হয়েছে। এই তালিকাটি মূলত সেইসব ব্যবহারকারীদের জন্য যারা চেক করে দেখতে চান যে তাদের সহায়তা টিকিট সংক্রান্ত সমস্যার সমাধান করা হয়েছে কিনা। এটি সব ব্যবহারকারীদের জন্য বিস্তারিত তথ্য প্রদান করার জন্য ডিজাইন করা হয়নি।

ইস্যু আইডি বিবরণ
SECENG-609 সম্পর্কিত ট্রাস্টস্টোর মুছে ফেলার সময় রানটাইম কল ব্যর্থ না হওয়া অথবা ট্রাস্টস্টোরে থাকা বৈধ সার্টিফিকেট মুছে ফেলা
MGMT-3404 Node.js লগ দেখা/ফিরিয়ে আনা এবং প্রক্সি ডেপ্লয় করা খুব ধীরে হয়
MGMT-3400 কল করা ব্যবহারকারীর নামে "+" চিহ্ন থাকলে /userroles ম্যানেজমেন্ট API-তে কল করা যায় না
MGMT-3368 java.lang.ArrayIndexOutOfBoundsException: 1, when importing an API Proxy bundle that contains resources/node/resources directory
MGMT-3364 OAuthV2: redirect_uri চেক
MGMT-3319 কোনও ভল্টের এন্ট্রিগুলির মধ্যে একটিতে নাল ভ্যালু থাকলে, সেই ভল্টের এন্ট্রিগুলির তালিকা কাজ করে না সংস্থাগুলির (CPS ও নন-CPS) ক্ষেত্রে
MGMT-3226 সংস্থা/এনভায়রনমেন্ট লেভেলে কোয়েরি করলে, API-কে ব্যর্থ করে দেয় এমন সব ডেটা পুল করা উচিত নয়
Release_160302-এ একটি বাগ ছিল যেখানে রিসোর্সের মোট সাইজ ১৬ এমবির বেশি হলে, সংস্থা-লেভেল/এনভায়রনমেন্ট লেভেলে রিসোর্সের তালিকা তৈরি করা যেত না, এই সমাধানটি সেটির যত্ন নেয়।
AXAPP-2429 Analytics API, response_status_code ব্যবহার করে ডেটা অ্যাক্সেস সমস্যা রিটার্ন করে
AXAPP-2386 অ্যানালিটিক্সের দৈনিক ইমেল রিপোর্টে ফাঁকা রিপোর্টের কন্টেন্ট সংক্রান্ত সমস্যার সমাধান করা
AXAPP-2347 প্রতিদিনের অ্যানালিটিক্স সারসংক্ষেপ ইমেল না পাওয়া
APIRT-3141 নতুন ExecutionResult() কল করার সময় Java কলআউট কাজ করে না, কারণ কনস্ট্রাক্টর প্রাইভেট করা হয়েছে
APIRT-3140 HEAD এপিআই কলে ServiceCallout নীতি কাজ করছে না
APIRT-3131 এক্সটার্নাল যাচাইকরণ প্রদানকারীর সাথে মনিটাইজেশন ব্যবহার করার সময় API প্রক্সির জন্য ভুল createdBy দেখানো হয়
APIRT-3121 সংস্থা রিসোর্স ফাইলে করা পরিবর্তন ১০০% কার্যকর হয়নি
APIRT-3117 MP ১০০% সিপিইউ ব্যবহার করেছে এবং ট্রাফিক পরিবেশন করা বন্ধ করে দিয়েছে
APIRT-3016 ডেপ্লয়মেন্টে রাউটার "কল টাইম-আউট হয়ে গেছে" সংক্রান্ত সমস্যা
APIRT-2975 সার্টিফিকেট বান্ডেল আপলোড করা যায়নি
APIRT-2955 FHIR-কম্প্লায়েন্ট কন্টেন্ট-টাইপ হেডার 'application/json+fhir'-এর জন্য JSON রেসপন্স ডেটার নির্দিষ্ট অ্যাট্রিবিউট মাস্ক করা যাচ্ছে না
APIRT-2946 OAuthV2-RefreshToken নীতি অ্যাট্রিবিউট লুকাচ্ছে না, যদিও ডিসপ্লে ফলস হিসেবে সেট করা আছে
APIRT-2908 TLS1.2 আপডেট করার পরে ইন্টার্নাল API কলের জন্য TLS1.2 প্রয়োগ করা প্রয়োজন ভার্চুয়ালহোস্ট
APIRT-2901 ক্যাশে থেকে রিটার্ন করা Gzipped উত্তর ডবল কম্প্রেস করা হয়
APIRT-2873 প্রোডাক্ট/ডেভেলপার/প্রক্সি মুছে দেওয়ার পরে MP VerifyAPIKey সম্পর্কিত NullPointerException দেয়
APIRT-2871 Trace-এ IOIntensive নীতি দু'বার দেখা যাচ্ছে
APIRT-2825 accesstoken সংক্রান্ত সমস্যার উত্তরে ব্যাকরণগত ভুল
APIRT-2750 নির্দিষ্ট কোনও অর্গানাইজেশনে ট্রাফিক ব্যর্থতার হার বেশি
APIRT-2685 অজানা সমস্যার কারণে ট্রাফিক ফ্লো করা যাচ্ছে না
APIRT-2647 "Underlying input stream returned zero bytes" error with nonprod/dev
APIRT-2630 ক্যাশে থেকে ভ্যালু রিড করার চেষ্টা করার সময় মাঝে মাঝে সমস্যা হওয়া
APIRT-2620 কিছু ব্লকিং ধাপের জন্য আলাদা থ্রেড পুল
APIRT-2610 Response Cache নীতি সহ java.lang.ClassCastException
APIRT-2608 রেসপন্স ক্যাশে নীতিতে Last-Modified হেডার পার্স করার সময় সমস্যা
APIRT-2605 নীতি ব্যবহার করে"সংস্থা" ও "এনভায়রনমেন্ট" ভেরিয়েবল ওভাররাইট করার অনুমতি দেওয়া উচিত নয়
APIRT-2566 OAuthV2 নীতি ভুল ফর্ম্যাট করা WWW-Authenticate হেডার রিটার্ন করে
APIRT-2491 ম্যানেজমেন্ট ও mps-এর মধ্যে RPC টাইম-আউটের কারণে TargetServer আপডেট করা যায়নি
APIRT-2386 খালি অনুমোদিত OAuth সহ API প্রোডাক্টে খালি স্ট্রিং স্কোপ তৈরি করা হয় স্কোপ
APIRT-2383 XSL ট্রান্সফর্মেশন নীতিতে কোনও সমস্যা হলে, কোনও ডেটা লগ করা হয় না বলে মনে হচ্ছে
APIRT-2364 ভুল হলে OAuth ফল্ট ফ্লো ভেরিয়েবল আপডেট হয় না
APIRT-2216 Server sent events - event stream having issues in prod
APIRT-2079 DEBUG cURL কল তৈরি করা সেশনের টাইমআউট শেষ হয়ে যাওয়ার পরেও বন্ধ হচ্ছে না
APIRT-1495 XML থ্রেট প্রোটেকশন fhir Content-Type ধরতে পারছে না
APIRT-347 ইমপোর্ট করার সময় XSL নীতি সঠিকভাবে যাচাই করা হয় না (ডকুমেন্টেড হিসেবে আউটপুট ভেরিয়েবেলে ফলাফল অ্যাসাইন করে না )