পপুলেট ক্যাশে নীতি স্থাপনার ত্রুটি সমস্যা সমাধান

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

অবৈধ ক্যাশ রিসোর্স রেফারেন্স

ত্রুটি বার্তা

Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:

Error Deploying Revision revision_number to environment
Invalid cache resource reference [cache_resource] in Step definition [populate_cache_policy_name]. Context Revision:[revision_number];APIProxy:[apiproxy_name];Organization:[organization];Environment:[environment]

ত্রুটির বার্তার উদাহরণ

Error Deploying Revision 2 to test
Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test

ত্রুটির স্ক্রিনশটের উদাহরণ

কারণ

এই ত্রুটিটি ঘটে যদি PopulateCache পলিসির <CacheResource> এলিমেন্টটি এমন কোনো নামে সেট করা হয়, যা এপিআই প্রক্সিটি স্থাপন করা হচ্ছে এমন পরিবেশে বিদ্যমান নেই।

রোগ নির্ণয়

  1. PopulateCache পলিসির নাম, পলিসির <CacheResource> এলিমেন্টে ব্যবহৃত অবৈধ ক্যাশে এবং যে এনভায়রনমেন্টে ত্রুটিটি ঘটেছে, তা শনাক্ত করুন। আপনি এই সমস্ত আইটেম ত্রুটির বার্তায় খুঁজে পাবেন। উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটিতে, PopulateCache পলিসির নাম হলো PopulateCache-Token , অবৈধ ক্যাশের নাম হলো tokencache এবং এনভায়রনমেন্টের নাম হলো test

    Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
    
  2. ব্যর্থ হওয়া PopulateCache পলিসি XML-টি পরীক্ষা করুন এবং <CacheResource> এলিমেন্টের জন্য নির্দিষ্ট করা ক্যাশের নামটি এরর মেসেজের সাথে মেলে কিনা তা যাচাই করুন।

    এই উদাহরণে, <CacheResource> এলিমেন্টে নির্দিষ্ট করা ক্যাশের নামটি হলো tokencache :

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <PopulateCache async="false" continueOnError="false" enabled="true" name="PopulateCache-Token">
        <DisplayName>PopulateCache-Token</DisplayName>
        <Properties/>
        <CacheKey>
            <Prefix/>
            <KeyFragment ref="request.queryparam.client_id"/>
        </CacheKey>
        <CacheResource>tokencache</CacheResource>
        <Scope>Exclusive</Scope>
        <ExpirySettings>
            <TimeoutInSec>3600</TimeoutInSec>
        </ExpirySettings>
        <Source>token</Source>
    </PopulateCache>
    
  3. যাচাই করুন যে (ধাপ #১-এ নির্ধারিত) ক্যাশেটি (ধাপ #১-এ চিহ্নিত) নির্দিষ্ট পরিবেশে সংজ্ঞায়িত করা হয়েছে কিনা।

    Edge UI-তে, ADMIN > Environment > test- এ যান এবং Environment Configuration- এর Caches ট্যাবে ক্যাশেটি আছে কিনা তা পরীক্ষা করুন। যদি ক্যাশেটি না থাকে, তাহলে সেটাই ত্রুটির কারণ।

    উদাহরণস্বরূপ, নিচের স্ক্রিনশটে লক্ষ্য করুন যে tokencache নামের ক্যাশেটি বিদ্যমান নেই।

    test এনভায়রনমেন্টে tokencache নামের ক্যাশটি সংজ্ঞায়িত না থাকায় আপনি এই ত্রুটিটি পাচ্ছেন:

    Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
    

সমাধান

আপনি যে পরিবেশে এপিআই প্রক্সি স্থাপন করতে চান, সেখানে PopulateCache পলিসির <CacheResource> এলিমেন্টে নির্দিষ্ট করা ক্যাশেটি তৈরি করা হয়েছে কিনা তা নিশ্চিত করুন।

ক্যাশে কীভাবে তৈরি করতে হয় সে সম্পর্কে তথ্যের জন্য "পরিবেশ ক্যাশে তৈরি এবং সম্পাদনা" দেখুন।

ক্যাশ পাওয়া যায়নি

ত্রুটি বার্তা

Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট করার ফলে এই ধরনের একটি এরর মেসেজ আসে এবং API প্রক্সির ডেপ্লয়মেন্ট স্ট্যাটাস 'আংশিকভাবে ডেপ্লয়েড' হিসেবে চিহ্নিত হয়:

Error: Cache : cache_resource, not found in organization : organization__environment.

ত্রুটির বার্তার উদাহরণ

Error Cache : configCache, not found in organization : kkalckstein-eval__test

কারণ

এরর মেসেজে উল্লেখিত নির্দিষ্ট ক্যাশেটি কোনো নির্দিষ্ট মেসেজ প্রসেসর কম্পোনেন্টে তৈরি করা না থাকলে এই এররটি ঘটে। মেসেজ প্রসেসর হলো একটি অভ্যন্তরীণ এজ কম্পোনেন্ট যা Apigee Edge-এর মাধ্যমে এপিআই ট্র্যাফিকের প্রবাহকে প্রসেস করে।

সমাধান

আপনি যদি প্রাইভেট ক্লাউড ব্যবহারকারী হন, তাহলে অনুগ্রহ করে নিচের নির্দেশাবলী অনুসরণ করুন:

  1. এপিআই প্রক্সি ডিপ্লয়মেন্টগুলোর তালিকা করুন এবং নির্ধারণ করুন কোন মেসেজ প্রসেসরগুলোতে steps.cache.CacheNotFound ত্রুটিটি রয়েছে।

    curl -u $USERID:$USERPASSWORD http://:8080/v1/organizations//environments//apis//revisions//deployments

    নমুনা আউটপুট

      {
        "aPIProxy" : "TestCache",
        "environment" : [ {
          "configuration" : {
            "basePath" : "/",
            "configVersion" : "SHA-512:45d3f39783414d3859bf2dec4135d8f5f9960ee6b2d361db2799c82693a8e3f8b95dbbb37c547eb3c0a3819d8ca51727f390502bcaefdf1f113263521a9023b6",
            "steps" : [ ]
          },
          "name" : "prod",
          "server" : [ {
            "pod" : {
              "name" : "pod1",
              "region" : "us-central1"
            },
            "status" : "deployed",
            "type" : [ "message-processor" ],
            "uUID" : "f2e5e34a-5630-43a9-8fef-48a5b9da76d1"
          }, {
            "pod" : {
              "name" : "pod1",
              "region" : "us-central1"
            },
            "status" : "deployed",
            "type" : [ "message-processor" ],
            "uUID" : "879a6538-a5e0-4503-b142-9cb2b4e0623d"
          }, {
          "error" : "Cache : configCache, not found in organization : kkalckstein-eval__test",
          "errorCode" : "steps.cache.CacheNotFound",
          "status" : "error",
          "type" : [ "message-processor" ],
           "uUID" : "a8f9ce0b-c32d-48a9-b26c-9c75d8bf467d"
      },
      ...
          "state" : "deployed"
        } ],
        "name" : "2",
        "organization" : "kkalckstein-eval"
        ...
    
  2. যে মেসেজ প্রসেসরে আপনি ` steps.cache.CacheNotFound ত্রুটিটি লক্ষ্য করছেন, তার UUID(গুলি) নোট করুন। উক্ত UUID-এর সাথে সম্পর্কিত মেসেজ প্রসেসরের হোস্ট নেম/আইপি অ্যাড্রেস শনাক্ত করুন।

  3. নির্দিষ্ট মেসেজ প্রসেসরটিতে লগ ইন করুন এবং নিম্নলিখিত কমান্ডটি ব্যবহার করে এটি পুনরায় চালু করুন:

    apigee-service edge-message-processor restart

আপনি যদি পাবলিক ক্লাউড ব্যবহারকারী হন অথবা প্রাইভেট ক্লাউডেও সমস্যাটি অব্যাহত থাকলে, সহায়তার জন্য Apigee সাপোর্টে যোগাযোগ করুন।