FlowCallout নীতি রানটাইম ত্রুটি সমস্যা সমাধান, FlowCallout নীতি রানটাইম ত্রুটি সমস্যা সমাধান

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

SharedFlowNotFound

ত্রুটি কোড

flow.SharedFlowNotFound

ত্রুটিপূর্ণ প্রতিক্রিয়া বডি

{
    "fault": {
        "faultstring": "Shared Flow shared_flow_name Not Found",
        "detail": {
            "errorcode": "flow.SharedFlowNotFound"
        }
    }
}

সম্ভাব্য কারণসমূহ

এই ত্রুটির সম্ভাব্য কারণগুলো হলো:

কারণ বর্ণনা
শেয়ার করা প্রবাহ উপলব্ধ নয় যৌথ প্রবাহের অস্তিত্ব নেই।
শেয়ার্ড ফ্লো স্থাপন করা হয়নি শেয়ার্ড ফ্লোটি বিদ্যমান কিন্তু ডেপ্লয় করা হয়নি।

কারণ: শেয়ার্ড ফ্লো উপলব্ধ নেই

ফ্লো কলআউট পলিসিতে, <SharedFlowBundle> এলিমেন্টের মধ্যে সংজ্ঞায়িত শেয়ার্ড ফ্লোটি এনভায়রনমেন্টে বিদ্যমান না থাকলে এই ত্রুটিটি ঘটে।

উদাহরণস্বরূপ, যদি ফ্লো কলআউট পলিসির <SharedFlowBundle> এলিমেন্টে SharedFlow_Sample নামের একটি শেয়ার্ড ফ্লো থাকে এবং এই শেয়ার্ড ফ্লোটি এনভায়রনমেন্টে বিদ্যমান না থাকে, তাহলে ত্রুটিটি ঘটে।

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

{
    "fault": {
        "faultstring": "Shared Flow SharedFlow_Sample Not Found",
        "detail": {
            "errorcode": "flow.SharedFlowNotFound"
        }
    }
}

রোগ নির্ণয়

  1. যে শেয়ার্ড ফ্লোটির অস্তিত্ব নেই, সেটি শনাক্ত করুন। আপনি এটি এরর রেসপন্সের faultstring ' এলিমেন্টে খুঁজে পেতে পারেন। উদাহরণস্বরূপ, নিম্নলিখিত faultstring এ, শেয়ার্ড ফ্লোটির নাম হলো SharedFlow_Sample :

    "faultstring": "Shared Flow SharedFlow_Sample Not Found"

  2. যে নির্দিষ্ট এপিআই প্রক্সিতে ব্যর্থতাটি ঘটেছে, সেখানকার সমস্ত ফ্লো কলআউট পলিসি পরীক্ষা করুন। যাচাই করুন সেখানে এমন কোনো ফ্লো কলআউট পলিসি আছে কি না, যেখানে উপরে ধাপ #১-এ চিহ্নিত ফ্লো নামটিসহ <SharedFlowBundle> এলিমেন্টটি নির্দিষ্ট করা আছে।

    উদাহরণস্বরূপ, নিম্নলিখিত পলিসিটি <SharedFlowBundle> কে SharedFlow_Sample হিসেবে নির্দিষ্ট করে, যা ফল্ট স্ট্রিং-এর সাথে মিলে যায়।

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout">
       <DisplayName>Auth Flow Callout</DisplayName>
       <SharedFlowBundle>SharedFlow_Sample</SharedFlowBundle>
    </FlowCallout>
    
  3. Edge UI-তে, APIs > Shared Flows-এর অধীনে এই শেয়ার্ড ফ্লোটি আছে কিনা তা পরীক্ষা করুন। যদি এটি না থাকে, তাহলে সেটাই ত্রুটির কারণ। (উল্লেখ্য যে, নতুন Edge UI-তে আপনি Develop ট্যাবের অধীনে Shared Flows খুঁজে পাবেন।)

    উদাহরণস্বরূপ, নিচে দেখানো স্ক্রিনশটে, SharedFlow_Sample শেয়ার্ড ফ্লোটির অস্তিত্ব নেই।

    যেহেতু এই শেয়ার্ড ফ্লোটি বিদ্যমান নেই, তাই আপনি এই এরর কোডটি পাচ্ছেন:

    flow.SharedFlowNotFound
    

সমাধান

নিশ্চিত করুন যে, ফ্লো কলআউট পলিসির <SharedFlowBundle> এলিমেন্টে উল্লেখিত শেয়ার্ড ফ্লোটি, যে নির্দিষ্ট এনভায়রনমেন্টে এপিআই রিকোয়েস্টটি এক্সিকিউট করা হচ্ছে, সেখানে বিদ্যমান এবং ডেপ্লয় করা আছে।

সমস্যাটির সমাধানের জন্য আপনি নিম্নলিখিত উপায়গুলোর মধ্যে যেকোনো একটি বেছে নিতে পারেন:

  1. নিচে দেখানো অনুযায়ী SharedFlow_Sample নামে একটি শেয়ার্ড ফ্লো তৈরি করুন এবং নিচে দেখানো অনুযায়ী এটিকে টেস্ট এনভায়রনমেন্টে ডিপ্লয় করুন:

  2. ফ্লো কলআউট পলিসিতে টেস্ট এনভায়রনমেন্টে ডেপ্লয় করা আগে থেকে বিদ্যমান একটি শেয়ার্ড ফ্লো ব্যবহার করুন। উদাহরণস্বরূপ, আপনি ফ্লো কলআউট পলিসিতে SharedFlow_demo নির্দিষ্ট করতে পারেন।

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Auth-Flow-Callout">
      <DisplayName>Auth Flow Callout</DisplayName>
      <SharedFlowBundle>SharedFlow_demo</SharedFlowBundle>
    </FlowCallout>
    

    আপনি যদি টেস্ট এনভায়রনমেন্টে একটি এপিআই কল করেন, তাহলে আর ত্রুটিটি দেখতে পাবেন না, কারণ ফ্লো কলআউটটি টেস্ট এনভায়রনমেন্টেও ডেপ্লয় করা হয়েছে।

কারণ: শেয়ার্ড ফ্লো স্থাপন করা হয়নি

ফ্লো কলআউট পলিসির <SharedFlowBundle> এলিমেন্টে নির্দিষ্ট করা শেয়ার্ড ফ্লোটি যদি ডিপ্লয় করা না থাকে, তাহলে এই ত্রুটিটি ঘটে।

উদাহরণস্বরূপ, যদি ফ্লো কলআউট পলিসির <SharedFlowBundle> এলিমেন্টে SharedFlow_example নামের একটি শেয়ার্ড ফ্লো থাকে, যা এপিআই অনুরোধটি করা নির্দিষ্ট এনভায়রনমেন্টে ডেপ্লয় করা নেই, তাহলে ত্রুটিটি ঘটে।

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

{
    "fault": {
        "faultstring": "Shared Flow Shared-Flow_example Not Found",
        "detail": {
            "errorcode": "flow.SharedFlowNotFound"
        }
    }
}

রোগ নির্ণয়

  1. যে শেয়ার্ড ফ্লোটি ডেপ্লয় করা হয়নি, সেটি শনাক্ত করুন। আপনি এটি এরর রেসপন্সের faultstring ' এলিমেন্টে খুঁজে পাবেন। উদাহরণস্বরূপ, নিম্নলিখিত faultstring এ, শেয়ার্ড ফ্লোটির নাম হলো Shared-Flow_example :

    "faultstring": "Shared Flow Shared-Flow_example Not Found"

  2. Edge UI-তে, এই শেয়ার্ড ফ্লোটি ডেপ্লয় করা হয়েছে কিনা তা পরীক্ষা করুন।

    উদাহরণস্বরূপ, আপনি নীচের স্ক্রিনশটে লক্ষ্য করবেন যে SharedFlow_example নামের শেয়ার্ড ফ্লোটি বিদ্যমান আছে কিন্তু স্থাপন করা হয়নি।

    যেহেতু এই শেয়ার্ড ফ্লোটি ডেপ্লয় করা হয়নি, তাই আপনি এই এরর কোডটি পাচ্ছেন:

    flow.SharedFlowNotFound
    

সমাধান

নিশ্চিত করুন যে, ফ্লো কলআউট পলিসির <SharedFlowBundle> এলিমেন্টে উল্লেখিত শেয়ার্ড ফ্লোটি, যে নির্দিষ্ট এনভায়রনমেন্টে এপিআই রিকোয়েস্টটি এক্সিকিউট করা হচ্ছে, সেখানে বিদ্যমান এবং ডেপ্লয় করা আছে।

উপরের উদাহরণটি সংশোধন করতে, নিচে দেখানো অনুযায়ী টেস্ট এনভায়রনমেন্টে SharedFlow_example নামের শেয়ার্ড ফ্লোটি ডিপ্লয় করুন:

আপনি যদি টেস্ট এনভায়রনমেন্টে একটি এপিআই কল করেন, তাহলে আর ত্রুটিটি দেখতে পাবেন না, কারণ ফ্লো কলআউটটি টেস্ট এনভায়রনমেন্টেও ডেপ্লয় করা হয়েছে।