Apigee Edge থেকে Apigee X মাইগ্রেশন অ্যান্টিপ্যাটার্নস

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

বর্তমান Apigee Edge গ্রাহক হিসাবে, আপনি আপনার ইনস্টলেশনকে Apigee X- এ স্থানান্তর করতে বেছে নিতে পারেন, যাতে নতুন ক্ষমতা বা বিভিন্ন আঞ্চলিক উপলব্ধতার সুবিধা নেওয়া যায়।

এই পৃষ্ঠাটি আপনার কনফিগারেশনের অ্যান্টিপ্যাটার্নগুলি বর্ণনা করে যা আপনাকে Apigee X-এ স্থানান্তরিত করার আগে সমাধান করতে হবে, সেইসাথে আচরণের অন্যান্য পরিবর্তনগুলি যা আপনার মাইগ্রেট করার আগে সচেতন হওয়া উচিত।

Apigee Edge অ্যান্টিপ্যাটার্নগুলির বিস্তৃত তালিকা ব্যবহার অনুশীলনগুলি বর্ণনা করে যা যেকোনো ক্ষেত্রে এড়ানো উচিত। এই পৃষ্ঠাটি নির্দিষ্ট ডিস-প্রস্তাবিত ব্যবহার অনুশীলনগুলি বর্ণনা করে যা একটি মাইগ্রেশনকে ব্লক করবে। Apigee X এ স্থানান্তরিত করার সময় সমস্যাগুলি প্রতিরোধ করতে এখনই এগুলি সমাধান করুন৷

API পণ্য ছাড়া অ্যাপ্লিকেশন

সারাংশ ক্লায়েন্ট-সাইড পরিবর্তন প্রয়োজন? রেজোলিউশন

API পণ্য (গুলি) ছাড়া অ্যাপ্লিকেশন আছে.

Apigee Edge এবং Apigee X এর মধ্যে পার্থক্য:

এপিজি এজ অ্যাপিজি এক্স
একটি অ্যাপ এবং শংসাপত্র কনফিগার করা সম্ভব যা কোনো API পণ্যের সাথে যুক্ত নয়। এই অ্যাপ্লিকেশন কার্যকরভাবে সব API পণ্য অ্যাক্সেস আছে. প্রতিটি অ্যাপকে অন্তত একটি API পণ্য অ্যাক্সেস করতে কনফিগার করতে হবে। সমস্ত API পণ্যগুলিতে অ্যাক্সেস প্রদান করার কোন উপায় নেই, নিহিতভাবে। আপনি সমস্ত API পণ্যগুলিতে অ্যাক্সেস পেতে একটি অ্যাপ কনফিগার করতে পারেন, তবে আপনাকে এটি স্পষ্টভাবে করতে হবে।
না.

রেজোলিউশন: API পণ্য ছাড়া অ্যাপ

অন্তত একটি API পণ্যের সাথে প্রতিটি অ্যাপের শংসাপত্র সংযুক্ত করুন। এটি কীভাবে করবেন সে সম্পর্কে আরও তথ্যের জন্য, অ্যাপগুলি নিবন্ধন করুন এবং API কীগুলি পরিচালনা করুন দেখুন।

একটি সহজ পথ হল প্রতিটি অ্যাপের অ্যাক্সেস সমস্ত API পণ্যগুলিতে বরাদ্দ করা। এটি Apigee Edge এ যা সম্ভব তার সমতুল্য হবে। চ্যালেঞ্জটি হবে যদি আপনি একটি "ন্যূনতম বিশেষাধিকার" পদ্ধতি অনুসরণ করতে চান, তাহলে আপনাকে API পণ্যগুলির ন্যূনতম তালিকা নির্ধারণ করতে হবে যা প্রতিটি অ্যাপের শংসাপত্রের অ্যাক্সেস থাকতে হবে। আপনি ক্লায়েন্ট আইডির উপর ভিত্তি করে এপিজি এজ অ্যানালিটিক্স রিপোর্টের সাথে এটি বিশ্লেষণ করতে পারেন।

মেয়াদ শেষ না হওয়া ক্যাশে

সারাংশ ক্লায়েন্ট-সাইড পরিবর্তন প্রয়োজন? রেজোলিউশন

ক্যাশে(গুলি) এর মেয়াদ শেষ হওয়ার সময় নেই৷

Apigee Edge এবং Apigee X এর মধ্যে পার্থক্য:

এপিজি এজ অ্যাপিজি এক্স
ক্যাশে রিসোর্স ডিসক্রিপ্টর তৈরি, আপডেট এবং মোছা সমর্থন করে। ক্যাশে রিসোর্স বর্ণনাকারী তৈরি, আপডেট বা মুছে ফেলা সমর্থন করে না।
না

রেজোলিউশন: মেয়াদ শেষ হওয়ার সময় ছাড়াই ক্যাশে

সমস্ত ক্যাশের জন্য একটি মেয়াদ শেষ হওয়ার সময় সেট করুন।

অ-নির্দিষ্ট পাথগুলিতে JSONPath ফিল্টার এক্সপ্রেশন

সারাংশ ক্লায়েন্ট-সাইড পরিবর্তন প্রয়োজন? রেজোলিউশন

অ-নির্ধারিত পাথের জন্য, ফিল্টার এক্সপ্রেশনের ফলাফল অনুসন্ধান করা JSONPath স্পেকের অংশ নয়। https://goessner.net/articles/JsonPath/ দেখুন।

Apigee Edge এবং Apigee X এর মধ্যে পার্থক্য:

এই উদাহরণ কাঠামো নেভিগেট করার সময়,

{
    "books": [
      {
        "name": "A",
      },
      {
        "name": "B",
      }
    ]
}

$..books[?(@.name == 'A')][0] ,

এপিজি এজ অ্যাপিজি এক্স
আউটপুট '{"name": "A"}' আউটপুট []

$..books[?(@.name == 'A')][0].name ,

এপিজি এজ অ্যাপিজি এক্স
আউটপুট "A" আউটপুট []
হ্যাঁ

রেজোলিউশন: অ-নির্দিষ্ট পাথগুলিতে JSONPath ফিল্টার এক্সপ্রেশন

প্রভাবিত প্রশ্ন খুঁজুন এবং প্রতিস্থাপন.

সূচীগুলির জন্য JSONPath এক্সপ্রেশন যা উপস্থিত নেই

সারাংশ ক্লায়েন্ট-সাইড পরিবর্তন প্রয়োজন? রেজোলিউশন

Apigee X বনাম Apigee Edge-এ উপস্থিত নয় এমন একটি সূচক সহ JSONPath এক্সপ্রেশনের ভিন্ন আচরণ রয়েছে। পাথ না পাওয়া গেলে Apigee X একটি PathNotFoundException ত্রুটি প্রদান করে।

Apigee Edge এবং Apigee X এর মধ্যে পার্থক্য:

এই উদাহরণ কাঠামো নেভিগেট করার সময়,

{
    "books": [
      {
        "name": "A",
      },
      {
        "name": "B",
      }
    ]
}

$.books[3] অভিব্যক্তি সহ,

এপিজি এজ অ্যাপিজি এক্স
আউটপুট null আউটপুট PathNotFoundException ত্রুটি
হ্যাঁ

রেজোলিউশন: সূচীগুলির জন্য JSONPath এক্সপ্রেশন যা উপস্থিত নেই

প্রভাবিত প্রশ্ন খুঁজুন এবং প্রতিস্থাপন.

একটি অ্যারে সূচক সহ JSONPath এক্সপ্রেশনগুলি একটি অ্যারে অবজেক্টকে ফেরত দেয় না

সারাংশ ক্লায়েন্ট-সাইড পরিবর্তন প্রয়োজন? রেজোলিউশন

একটি অ্যারে সূচক বা স্লাইস সহ JSONPath এক্সপ্রেশনগুলি Apigee X-এ একটি অ্যারে অবজেক্ট প্রদান করে।

Apigee Edge এবং Apigee X এর মধ্যে পার্থক্য:

এই উদাহরণ কাঠামো নেভিগেট করার সময়,

{
    "books": [
      {
        "name": "A",
      },
      {
        "name": "B",
      }
    ]
}

$.books অভিব্যক্তি সহ,

এপিজি এজ অ্যাপিজি এক্স
আউটপুট {“name”:”A”, “name”: “B”} আউটপুট [{“name”:”A”, “name”: “B”}]

$.books[-1] অভিব্যক্তি সহ,

এপিজি এজ অ্যাপিজি এক্স
আউটপুট {“name”: “B”} আউটপুট [{“name”: “B”}]

$.books[-2:] অভিব্যক্তি সহ,

এপিজি এজ অ্যাপিজি এক্স
আউটপুট {“name”:”A”, “name”: “B”} আউটপুট [{“name”:”A”, “name”: “B”}]
হ্যাঁ

রেজোলিউশন: একটি অ্যারে সূচক সহ JSONPath এক্সপ্রেশনগুলি একটি অ্যারে অবজেক্টকে ফিরিয়ে দেয় না

অভিব্যক্তি খুঁজুন এবং প্রতিস্থাপন করুন যা আপগ্রেড করার পরে বিভিন্ন ফলাফল দিতে পারে।

কীস্টোর নামের সীমাবদ্ধতা

সারাংশ ক্লায়েন্ট-সাইড পরিবর্তন প্রয়োজন? রেজোলিউশন

Apigee X কীস্টোর নামগুলিতে শুধুমাত্র অক্ষর, সংখ্যা এবং হাইফেন থাকতে পারে। এজ কীস্টোর নাম এই বিধিনিষেধ আরোপ করে না।

না

রেজোলিউশন: কীস্টোর নাম সীমাবদ্ধতা

কীস্টোরের নাম পরীক্ষা করুন এবং প্রয়োজনে অসমর্থিত অক্ষরগুলি সরাতে নাম আপডেট করুন।

একটি API প্রক্সির জন্য একাধিক বেস পাথ স্থাপন করা হয়েছে

সারাংশ ক্লায়েন্ট-সাইড পরিবর্তন প্রয়োজন? রেজোলিউশন

একটি API প্রক্সির একাধিক সংশোধন একটি পরিবেশে স্থাপন করা হয় এবং প্রতিটি পুনর্বিবেচনার একটি ভিন্ন ভিত্তি পথ থাকে।

Apigee Edge এবং Apigee X এর মধ্যে পার্থক্য:

এপিজি এজ অ্যাপিজি এক্স
একটি API প্রক্সির একাধিক রিভিশন স্থাপনকে সমর্থন করে যেখানে প্রতিটি রিভিশনের একটি ভিন্ন বেস পাথ থাকতে পারে। প্রক্সির বিভিন্ন বেস পাথ থাকা সত্ত্বেও একটি API প্রক্সির একাধিক সংশোধনের স্থাপনা সমর্থন করে না।
না

রেজোলিউশন: একটি API প্রক্সির জন্য একাধিক বেস পাথ স্থাপন করা হয়েছে

সমস্ত বান্ডিল আপডেট করুন যাতে বেসপাথ নির্বিশেষে একটি বান্ডিলের শুধুমাত্র একটি সংশোধন পরিবেশে স্থাপন করা হয়।

অ-সঙ্গত HTTP বার্তা

সারাংশ ক্লায়েন্ট-সাইড পরিবর্তন প্রয়োজন? রেজোলিউশন

ক্লায়েন্ট বা API প্রক্সি বার্তা পাঠায় (অনুরোধ বা প্রতিক্রিয়া) যা HTTP মান মেনে চলে না। উদাহরণস্বরূপ, অবৈধ হেডার নাম, কিছু সীমাবদ্ধ শিরোলেখের অনুলিপি ইত্যাদি।

আপনার এপিআই এক্সিকিউশনে নিচের এক বা একাধিক ত্রুটি থাকলে আপনি Apigee X-এ মাইগ্রেট করতে পারবেন না:

ত্রুটি বিস্তারিত
INVALID_CHARACTERS_IN_HEADER নির্দিষ্ট হেডারে এক বা একাধিক অবৈধ অক্ষর পাওয়া গেছে। বৈধ শিরোনাম নামগুলি ইংরেজি অক্ষর, অঙ্ক এবং হাইফেন দ্বারা গঠিত।
MISSING_COLON হেডারের নাম এবং হেডার মান জোড়ায় একটি : (কোলন) অনুপস্থিত।
MULTIPLE_CONTENT_LENGTH বিষয়বস্তু-দৈর্ঘ্য শিরোনামের জন্য একাধিক মান প্রদান করা হয়েছে।
CONTENT_LENGTH_NOT_INTEGER বিষয়বস্তু-দৈর্ঘ্য হেডার মান একটি পূর্ণসংখ্যা নয়।
INVALID_UPGRADE আপগ্রেড শিরোনাম শুধুমাত্র WebSocket সংযোগ সক্রিয় করতে ব্যবহার করা আবশ্যক কিন্তু তা নয়।
URL_HEADER_SIZE_TOO_LONG অনুরোধের URL এবং শিরোনামগুলির মোট আকার সর্বাধিক অনুমোদিত আকার 15 KB ছাড়িয়ে গেছে৷
BODY_NOT_ALLOWED "GET", "DELETE", "TRACE", "OPTIONS" এবং "HEAD" পদ্ধতি সহ একটি বার্তার অংশ অনুমোদিত নয়৷
UNSUPPORTED_HTTP_VERSION অনুরোধের জন্য 1.1 ব্যতীত অন্য একটি HTTP সংস্করণ ব্যবহার করা হচ্ছে এবং এটি সমর্থিত নয়৷
ZERO_CONTENT_LENGTH_FOR_POST_OR_PUT একটি শূন্য ("0") সামগ্রী-দৈর্ঘ্য শিরোনাম ক্ষেত্রের মান একটি "POST" বা "PUT" পদ্ধতির জন্য সেট করা হয়েছিল৷
UNSUPPORTED_RESPONSE_PREFIX প্রতিক্রিয়া শিরোনামে একটি অসমর্থিত "X-Apigee-" শিরোনাম উপসর্গ উপস্থিত ছিল।
হ্যাঁ, সম্ভবত.

রেজোলিউশন: অ-সঙ্গত HTTP বার্তা

Apigee X-এ স্থানান্তরিত করার আগে আপনাকে HTTP প্রোটোকলের যেকোনো ত্রুটি অবশ্যই ঠিক করতে হবে। যদি কোনো ক্লায়েন্ট অ্যাপ্লিকেশন থেকে কোনো ত্রুটি আসে, তাহলে আপনাকে অবশ্যই ক্লায়েন্ট অ্যাপের বিকাশকারীকে সমস্যাটি সংশোধন করতে বলতে হবে।

OAuth 2.0 টোকেনের মেয়াদ শেষ হওয়ার সময় অবৈধ৷

সারাংশ ক্লায়েন্ট-সাইড পরিবর্তন প্রয়োজন? রেজোলিউশন

OAuth 2.0 টোকেনের মেয়াদ শেষ হওয়ার সীমা নির্ধারিত সীমার বাইরে।

Apigee Edge এবং Apigee X এর মধ্যে পার্থক্য:

এপিজি এজ অ্যাপিজি এক্স
OAuth 2.0 টোকেন মেয়াদ শেষ হওয়ার সময় কোন সীমাবদ্ধতা বর্তমানে বলবৎ নয় কিন্তু প্রয়োগের পরিকল্পনা করা হয়েছে। সীমা পৃষ্ঠার OAuth বিভাগে নির্দেশিকা দেখুন। আপনাকে অবশ্যই একটি অ্যাক্সেস টোকেন সেট করতে হবে এবং OAuth 2.0 এর জন্য টোকেনের মেয়াদ শেষ হওয়ার সময় রিফ্রেশ করতে হবে। সমর্থিত ব্যাপ্তি হল:
  • 180 সেকেন্ড <= OAuth 2.0 অ্যাক্সেস টোকেন মেয়াদ শেষ হওয়ার সময় <= 30 দিন
  • 1 দিন <= OAuth 2.0 রিফ্রেশ টোকেন মেয়াদ শেষ হওয়ার সময় <= 2 বছর
না

রেজোলিউশন: OAuth 2.0 টোকেন মেয়াদ শেষ হওয়ার সময় অবৈধ

OAuthV2 নীতি ব্যবহার করুন এবং <ExpiresIn> এবং <RefreshTokenExpiresIn> এ মেয়াদ শেষ হওয়ার সময় নির্দিষ্ট করুন।

পণ্যের সীমা অতিক্রম করেছে৷

সারাংশ ক্লায়েন্ট-সাইড পরিবর্তন প্রয়োজন? রেজোলিউশন

Apigee Edge-এর কনফিগারেশন নির্ধারিত পণ্য সীমার সাথে সঙ্গতিপূর্ণ নয়। কিছু পণ্যের সীমা যা নথিভুক্ত কিন্তু Apigee Edgeare এ প্রয়োগ করা হয় না Apigee X এ প্রয়োগ করা হয়েছে।

না

রেজোলিউশন: পণ্যের সীমা অতিক্রম করেছে

Apigee X-এ স্থানান্তরিত করার আগে পণ্যের সীমা অতিক্রম করে এমন কোনো ব্যবহার সংশোধন করুন।

এন্ডপয়েন্ট এবং পাথ টার্গেট কানেকশন স্পেসিফায়ার উভয় সহ ServiceCallout নীতি

সারাংশ ক্লায়েন্ট-সাইড পরিবর্তন প্রয়োজন? রেজোলিউশন

ServiceCallout নীতিতে, <LocalTargetConnection> উপাদানটিতে হয় <APIProxy> এবং <ProxyEndpoint> উপাদান বা <Path> উপাদান অন্তর্ভুক্ত করা উচিত, তবে উভয়ই নয়। আরও তথ্যের জন্য, <LocalTargetConnection> উপাদানটি দেখুন।

Apigee Edge এই প্রয়োজনীয়তা নথিভুক্ত করে কিন্তু এটি প্রয়োগ করে না। Apigee X প্রক্রিয়াকরণ বন্ধ করে দেয় যদি এটি উভয় কনফিগারেশনের সাথে একটি <LocalTargetConnection> এর সম্মুখীন হয়।

না

রেজোলিউশন: উভয় এন্ডপয়েন্ট এবং পাথ টার্গেট কানেকশন স্পেসিফায়ার সহ ServiceCallout নীতি

ServiceCallout নীতি কনফিগারেশন চেক করুন এবং যে কোনো <LocalTargetConnection> কনফিগারেশনগুলি বাদ দিন যা সঙ্গতিপূর্ণ নয়।

লক্ষ্য সার্ভার নাম সীমাবদ্ধতা

সারাংশ ক্লায়েন্ট-সাইড পরিবর্তন প্রয়োজন? রেজোলিউশন

Apigee X টার্গেট সার্ভারের নামগুলিতে শুধুমাত্র অক্ষর, সংখ্যা, হাইফেন এবং পিরিয়ড থাকতে পারে। এজ টার্গেট সার্ভারের নাম এই বিধিনিষেধ আরোপ করে না।

না

রেজোলিউশন: টার্গেট সার্ভারের নাম সীমাবদ্ধতা

লক্ষ্য সার্ভারের নাম পরীক্ষা করুন এবং প্রয়োজনে অসমর্থিত অক্ষরগুলি সরাতে নাম আপডেট করুন।

ভার্চুয়াল হোস্টে ট্রায়াল সার্টিফিকেট

সারাংশ ক্লায়েন্ট-সাইড পরিবর্তন প্রয়োজন? রেজোলিউশন

এক বা একাধিক ভার্চুয়াল হোস্ট Apigee-প্রদত্ত "ফ্রি ট্রায়াল" শংসাপত্র ব্যবহার করে। এর ফলে ভার্চুয়াল হোস্ট ORG-ENV.apigee.net এর মতো ডোমেনে অনুরোধে সাড়া দেয়।

Apigee Edge এবং Apigee X এর মধ্যে পার্থক্য:

এপিজি এজ অ্যাপিজি এক্স
ORG-ENV.apigee.net ফর্মের একটি ডোমেন নাম সমর্থন করতে স্বয়ংক্রিয়ভাবে "ডিফল্ট" vhost কনফিগার করে। একটি ওয়াইল্ডকার্ড শংসাপত্র আছে, যা "বিনামূল্যে ট্রায়াল সার্টিফিকেট" নামে পরিচিত, যা এই ডোমেনে TLS-এর অনুমতি দেয়৷ ORG-ENV.apigee.net ফর্মের লিগ্যাসি Apigee ডোমেনগুলি Apigee X-এ উপলব্ধ নয়৷ আপনাকে অবশ্যই আপনার নিজের ডোমেন নাম এবং প্রভিশন সার্টিফিকেট যথাযথভাবে কনফিগার করতে হবে৷
হ্যাঁ

রেজোলিউশন: ভার্চুয়াল হোস্টে ট্রায়াল সার্টিফিকেট

আপনাকে অবশ্যই আপনার নিজের ডোমেন এবং প্রভিশন সার্টিফিকেট যথাযথভাবে কনফিগার করতে হবে।

ORG-ENV.apigee.net ফর্মের লিগ্যাসি ডোমেন নামের উপর নির্ভর করে এমন যেকোনো ক্লায়েন্ট অ্যাপ্লিকেশনকে নতুন ডোমেনে কল করার জন্য পরিবর্তন করতে হবে।

অমীমাংসিত DNS

সারাংশ ক্লায়েন্ট-সাইড পরিবর্তন প্রয়োজন? রেজোলিউশন

টার্গেট এন্ডপয়েন্ট(গুলি) অমীমাংসিত ডোমেন নাম(গুলি) আছে৷

Apigee Edge এবং Apigee X এর মধ্যে পার্থক্য:

এপিজি এজ অ্যাপিজি এক্স
যদি DNS রেজোলিউশন ব্যর্থ হয়, Apigee ডোমেন নামের সাথে .apigee.com যুক্ত করে এবং DNS একটি 4xx প্রতিক্রিয়া কোডের সাথে সফলভাবে সমাধান করে। যদি DNS রেজোলিউশন ব্যর্থ হয়, Apigee অনুরোধটি কার্যকর করে না এবং একটি 5xx প্রতিক্রিয়া কোড ফেরত দেয়।
না

রেজোলিউশন: অমীমাংসিত DNS

একটি বৈধ ডোমেন নাম দিয়ে লক্ষ্য শেষ পয়েন্ট আপডেট করুন।