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 Analytics রিপোর্ট দিয়ে এটি বিশ্লেষণ করতে পারেন।

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

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

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

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 মান মেনে চলে না। উদাহরণস্বরূপ, অবৈধ হেডার নাম, কিছু সীমাবদ্ধ হেডারে ডুপ্লিকেশন ইত্যাদি।

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

ত্রুটি বিস্তারিত
শিরোনামের মধ্যে INVALID_characters নির্দিষ্ট হেডারে এক বা একাধিক অবৈধ অক্ষর পাওয়া গেছে। বৈধ হেডার নামগুলি ইংরেজি অক্ষর, সংখ্যা এবং হাইফেন দিয়ে গঠিত।
অনুপস্থিত_কোলন হেডারের নাম এবং হেডারের মান জোড়ায় একটি : (কোলন) অনুপস্থিত।
বহুমাত্রিক_সামগ্রী_দৈর্ঘ্য কন্টেন্ট-লেংথ হেডারের জন্য একাধিক মান প্রদান করা হয়েছিল।
কন্টেন্ট_লেংথ_অপূর্ণ নয় কন্টেন্ট-দৈর্ঘ্য হেডার মান একটি পূর্ণসংখ্যা নয়।
INVALID_UPGRADE সম্পর্কে আপগ্রেড হেডারটি শুধুমাত্র ওয়েবসকেট সংযোগ সক্ষম করার জন্য ব্যবহার করা উচিত কিন্তু তা নয়।
URL_HEADER_SIZE_অনেক_দীর্ঘ অনুরোধের URL এবং হেডারের মোট আকার সর্বোচ্চ অনুমোদিত ১৫ KB আকারের চেয়ে বেশি।
শরীর_অনুমতি_দেয়া_হয়নি "GET", "DELETE", "TRACE", "OPTIONS", এবং "HEAD" পদ্ধতি ব্যবহার করে বার্তার মূল অংশ ব্যবহার করা যাবে না।
অসমর্থিত_HTTP_সংস্করণ অনুরোধটির জন্য ১.১ ব্যতীত অন্য একটি HTTP সংস্করণ ব্যবহার করা হচ্ছে এবং এটি সমর্থিত নয়।
পোস্ট_অথবা_পুটের_জন্য_শূন্য_সামগ্রী_দৈর্ঘ্য "POST" অথবা "PUT" পদ্ধতির জন্য একটি শূন্য ("0") কন্টেন্ট-দৈর্ঘ্য হেডার ফিল্ড মান সেট করা হয়েছিল।
অসমর্থিত_প্রতিক্রিয়া_পূর্বনির্ধারিত রেসপন্স হেডারে একটি অসমর্থিত “X-Apigee-” হেডার প্রিফিক্স উপস্থিত ছিল।
হ্যাঁ, সম্ভবত।

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

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

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

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

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

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

এপিগি এজ এপিজি এক্স
OAuth 2.0 টোকেনের মেয়াদ শেষ হওয়ার সময়সীমার উপর কোনও সীমাবদ্ধতা বর্তমানে প্রয়োগ করা হয়নি তবে প্রয়োগের পরিকল্পনা করা হয়েছে। সীমা পৃষ্ঠার OAuth বিভাগে নির্দেশিকাগুলি দেখুন। OAuth 2.0 এর জন্য আপনাকে অবশ্যই একটি অ্যাক্সেস টোকেন এবং রিফ্রেশ টোকেনের মেয়াদ শেষ হওয়ার সময় সেট করতে হবে। সমর্থিত রেঞ্জগুলি হল:
  • ১৮০ সেকেন্ড <= OAuth 2.0 অ্যাক্সেস টোকেনের মেয়াদ শেষ হওয়ার সময় <= ৩০ দিন
  • ১ দিন <= OAuth 2.0 রিফ্রেশ টোকেনের মেয়াদ শেষ হওয়ার সময় <= ২ বছর
না

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

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

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

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

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

না

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

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

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

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

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

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

না

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

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

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