রেইসফল্ট নীতি

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

কি

একটি ত্রুটি অবস্থার প্রতিক্রিয়া হিসাবে একটি কাস্টম বার্তা তৈরি করে৷ একটি ফল্ট প্রতিক্রিয়া সংজ্ঞায়িত করতে RaiseFault ব্যবহার করুন যা অনুরোধকারী অ্যাপে ফেরত দেওয়া হয় যখন একটি নির্দিষ্ট অবস্থা দেখা দেয়।

ত্রুটি হ্যান্ডলিং সম্পর্কে সাধারণ তথ্যের জন্য, হ্যান্ডলিং ফল্টস দেখুন।

নমুনা

FaultResponse ফেরত দিন

সবচেয়ে সাধারণ ব্যবহারে, অনুরোধকারী অ্যাপে একটি কাস্টম ফল্ট প্রতিক্রিয়া ফেরাতে RaiseFault ব্যবহার করা হয়। উদাহরণ স্বরূপ এই নীতিটি একটি 404 স্ট্যাটাস কোড প্রদান করবে কোন পেলোড ছাড়াই:

<RaiseFault name="404">
 <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
 <FaultResponse>
   <Set>
     <StatusCode>404</StatusCode>
     <ReasonPhrase>The resource requested was not found</ReasonPhrase>
   </Set>
 </FaultResponse>
</RaiseFault>

FaultResponse Payload রিটার্ন করুন

একটি আরও জটিল উদাহরণ হল HTTP হেডার এবং একটি HTTP স্ট্যাটাস কোড সহ একটি কাস্টম ফল্ট প্রতিক্রিয়া পেলোড ফেরত দেওয়া। নিম্নলিখিত উদাহরণে ফল্ট প্রতিক্রিয়াটি ব্যাকএন্ড পরিষেবা থেকে এজ দ্বারা প্রাপ্ত HTTP স্ট্যাটাস কোড সহ একটি XML বার্তা এবং একটি শিরোনাম যা ঘটেছে এমন ত্রুটির ধরন সহ পপুলেট করা হয়েছে:

<RaiseFault name="ExceptionHandler">
 <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
 <FaultResponse>
   <Set>
     <Payload contentType="text/xml">
       <root>Please contact support@company.com</root>
     </Payload>
     <StatusCode>{response.status.code}</StatusCode>
     <ReasonPhrase>Server error</ReasonPhrase>
   </Set>
   <Add>
     <Headers>
       <Header name="FaultHeader">{fault.name}</Header>
     </Headers>
   </Add>
 </FaultResponse>
</RaiseFault>

সব ভেরিয়েবলের তালিকার জন্য যেগুলি গতিশীলভাবে ফল্ট রেসপন্স বার্তাগুলিকে জনবহুল করার জন্য উপলব্ধ, ভেরিয়েবল রেফারেন্স দেখুন

পরিষেবা কলআউট ত্রুটিগুলি পরিচালনা করুন৷


RaiseFault নীতি সম্পর্কে

Apigee Edge আপনাকে RaiseFault টাইপ নীতি ব্যবহার করে কাস্টম ব্যতিক্রম পরিচালনা করতে সক্ষম করে। RaiseFault নীতি, যা AssignMessage নীতির অনুরূপ, আপনাকে একটি ত্রুটি অবস্থার প্রতিক্রিয়া হিসাবে একটি কাস্টম ফল্ট প্রতিক্রিয়া তৈরি করতে দেয়৷

একটি নির্দিষ্ট ত্রুটির অবস্থার উদ্ভব হলে অনুরোধকারী অ্যাপে ফিরে আসা একটি ত্রুটি প্রতিক্রিয়া সংজ্ঞায়িত করতে RaiseFault নীতি ব্যবহার করুন৷ ফল্ট প্রতিক্রিয়া HTTP শিরোনাম, ক্যোয়ারী পরামিতি, এবং একটি বার্তা পেলোড নিয়ে গঠিত হতে পারে। একটি কাস্টম ফল্ট প্রতিক্রিয়া অ্যাপ বিকাশকারী এবং অ্যাপের শেষ ব্যবহারকারীদের জন্য জেনেরিক ত্রুটি বার্তা বা HTTP প্রতিক্রিয়া কোডের চেয়ে বেশি কার্যকর হতে পারে।

যখন কার্যকর করা হয়, RaiseFault নীতি বর্তমান প্রবাহ থেকে ত্রুটি প্রবাহে নিয়ন্ত্রণ স্থানান্তর করে, যা তারপর অনুরোধকারী ক্লায়েন্ট অ্যাপে মনোনীত ফল্ট প্রতিক্রিয়া প্রদান করে। যখন বার্তা প্রবাহ ত্রুটি প্রবাহে সুইচ করে, তখন আর কোনো নীতি প্রক্রিয়াকরণ ঘটে না। সমস্ত অবশিষ্ট প্রক্রিয়াকরণ পদক্ষেপগুলি বাইপাস করা হয়েছে, এবং ত্রুটি প্রতিক্রিয়া সরাসরি অনুরোধকারী অ্যাপে ফেরত দেওয়া হয়৷

আপনি একটি ProxyEndpoint বা একটি TargetEndpoint এ RaiseFault ব্যবহার করতে পারেন। সাধারণত, আপনি RaiseFault নীতিতে একটি শর্ত সংযুক্ত করবেন। RaiseFault কার্যকর করার পরে, Apigee স্বাভাবিক ফল্ট প্রক্রিয়াকরণ সম্পাদন করবে, FaultRules মূল্যায়ন করবে, অথবা যদি কোন ফল্ট নিয়ম সংজ্ঞায়িত না থাকে তবে এটি অনুরোধের প্রক্রিয়াকরণ বন্ধ করে দেয়।

উপাদান রেফারেন্স

উপাদান রেফারেন্স RaiseFault নীতির উপাদান এবং বৈশিষ্ট্য বর্ণনা করে।

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RaiseFault async="false" continueOnError="false" enabled="true" name="Raise-Fault-1">
    <DisplayName>RaiseFault 1</DisplayName>
    <FaultResponse>
        <AssignVariable>
          <Name/>
          <Value/>
        </AssignVariable>
        <Add>
            <Headers/>
        </Add>
        <Copy source="request">
            <Headers/>
            <StatusCode/>
            <ReasonPhrase/>
        </Copy>
        <Remove>
            <Headers/>
        </Remove>
        <Set>
            <Headers/>
            <Payload/>
            <ReasonPhrase/>
            <StatusCode/>
        </Set>
    </FaultResponse>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
</RaiseFault>

<RaiseFault> বৈশিষ্ট্য

<RaiseFault async="false" continueOnError="false" enabled="true" name="Raise-Fault-1">

নিম্নলিখিত সারণী সমস্ত নীতির মূল উপাদানগুলির জন্য সাধারণ বৈশিষ্ট্যগুলি বর্ণনা করে:

বৈশিষ্ট্য বর্ণনা ডিফল্ট উপস্থিতি
name

নীতির অভ্যন্তরীণ নাম। name বৈশিষ্ট্যের মানটিতে অক্ষর, সংখ্যা, স্পেস, হাইফেন, আন্ডারস্কোর এবং পিরিয়ড থাকতে পারে। এই মান 255 অক্ষরের বেশি হতে পারে না।

ঐচ্ছিকভাবে, ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে <DisplayName> উপাদানটি ব্যবহার করুন।

N/A প্রয়োজন
continueOnError

একটি নীতি ব্যর্থ হলে একটি ত্রুটি ফেরত দিতে false সেট করুন৷ এটি বেশিরভাগ নীতির জন্য প্রত্যাশিত আচরণ।

একটি নীতি ব্যর্থ হওয়ার পরেও ফ্লো এক্সিকিউশন চালিয়ে যেতে true সেট করুন৷

মিথ্যা ঐচ্ছিক
enabled

নীতি প্রয়োগ করতে true সেট করুন৷

নীতি বন্ধ করতে false সেট করুন। নীতিটি প্রবাহের সাথে সংযুক্ত থাকলেও তা কার্যকর করা হবে না।

সত্য ঐচ্ছিক
async

এই বৈশিষ্ট্যটি অবমূল্যায়ন করা হয়েছে৷

মিথ্যা অবচয়

<DisplayName> উপাদান

ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে name বৈশিষ্ট্য ছাড়াও ব্যবহার করুন।

<DisplayName>Policy Display Name</DisplayName>
ডিফল্ট

N/A

আপনি এই উপাদানটি বাদ দিলে, নীতির name বৈশিষ্ট্যের মান ব্যবহার করা হবে।

উপস্থিতি ঐচ্ছিক
টাইপ স্ট্রিং

<অমীমাংসিত ভেরিয়েবল> এলিমেন্টকে উপেক্ষা করুন

(ঐচ্ছিক) ফ্লোতে কোনো অমীমাংসিত পরিবর্তনশীল ত্রুটি উপেক্ষা করে। বৈধ মান: সত্য/মিথ্যা। ডিফল্ট true

<FaultResponse> উপাদান

(ঐচ্ছিক) অনুরোধকারী ক্লায়েন্টের কাছে ফিরে আসা প্রতিক্রিয়া বার্তা সংজ্ঞায়িত করে। FaultResponse AssignMessage নীতির মতো একই সেটিংস ব্যবহার করে (ব্যক্তিগত ক্লাউডের জন্য Apigee এজে উপলব্ধ নয়)।

<FaultResponse><AssignVariable> উপাদান

একটি গন্তব্য প্রবাহ ভেরিয়েবলের একটি মান বরাদ্দ করে। যদি ফ্লো ভেরিয়েবল না থাকে, তাহলে AssignVariable এটি তৈরি করে।

উদাহরণস্বরূপ, RaiseFault নীতিতে myFaultVar নামের ভেরিয়েবল সেট করতে নিম্নলিখিত কোডটি ব্যবহার করুন:

<FaultResponse>
  <AssignVariable>
    <Name>myFaultVar</Name>
    <Value>42</Value>
  </AssignVariable>
  ...
</FaultResponse>

আপনি পরে RaiseFault নীতিতে বার্তা টেমপ্লেটগুলিতে সেই পরিবর্তনশীলটিকে উল্লেখ করতে পারেন। এছাড়াও, একটি FaultRule এর সাথে সংযুক্ত একটি নীতি তারপর পরিবর্তনশীল অ্যাক্সেস করতে পারে। উদাহরণস্বরূপ, নিম্নোক্ত AssignMessage নীতিটি RaiseFault-এ ভেরিয়েবল সেট ব্যবহার করে ফল্ট প্রতিক্রিয়াতে একটি হেডার সেট করতে:

<AssignMessage enabled="true" name="Assign-Message-1">
  <Add>
    <Headers>
      <Header name="newvar">{myFaultVar}</Header>
    </Headers>
  </Add>
  <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
  <AssignTo createNew="false" transport="http" type="response"/>
</AssignMessage>

RaiseFault নীতিতে <AssignVariable> AssignMessage নীতিতে <AssignVariable> উপাদানের মতো একই সিনট্যাক্স ব্যবহার করে। মনে রাখবেন যে এই কার্যকারিতা বর্তমানে ব্যক্তিগত ক্লাউডের জন্য Apigee Edge-এ উপলব্ধ নেই৷

<FaultResponse><Add>/<Headers> উপাদান

ত্রুটি বার্তায় HTTP শিরোনাম যোগ করে। মনে রাখবেন যে খালি হেডার <Add><Headers/></Add> কোন হেডার যোগ করে না। এই উদাহরণটি হেডারে request.user.agent ফ্লো ভেরিয়েবলের মান কপি করে।

<Add>
    <Headers>
        <Header name="user-agent">{request.user.agent}</Header>
    </Headers>
</Add>

ডিফল্ট:

N/A

উপস্থিতি:

ঐচ্ছিক

প্রকার:

স্ট্রিং

<FaultResponse><Copy> উপাদান

ত্রুটি বার্তার source বৈশিষ্ট্য দ্বারা নির্দিষ্ট করা বার্তা থেকে তথ্য অনুলিপি করে৷

    <Copy source="request">
        <Headers/>
        <StatusCode/>
        <ReasonPhrase/>
    </Copy>

ডিফল্ট:

N/A

উপস্থিতি:

ঐচ্ছিক

প্রকার:

স্ট্রিং

গুণাবলী

 <Copy source="response">
বৈশিষ্ট্য বর্ণনা উপস্থিতি টাইপ
উৎস

অনুলিপির উৎস বস্তু নির্দিষ্ট করে।

  • উৎস নির্দিষ্ট না হলে, এটি একটি সাধারণ বার্তা হিসাবে বিবেচিত হয়। উদাহরণস্বরূপ, যদি নীতিটি অনুরোধের প্রবাহে থাকে, তাহলে উৎসটি অনুরোধ অবজেক্টে ডিফল্ট হয়। নীতিটি প্রতিক্রিয়া প্রবাহে থাকলে, এটি প্রতিক্রিয়া অবজেক্টে ডিফল্ট হয়। আপনি উৎস বাদ দিলে, আপনি অনুলিপির উৎস হিসাবে একটি ফ্লো ভেরিয়েবলের একটি পরম রেফারেন্স ব্যবহার করতে পারেন। উদাহরণস্বরূপ, মানটিকে {request.header.user-agent} হিসাবে উল্লেখ করুন।
  • যদি সোর্স ভেরিয়েবলটি সমাধান করা না যায়, বা একটি নন-মেসেজ টাইপের সমাধান করা হয়, <কপি> সাড়া দিতে ব্যর্থ হয়।
ঐচ্ছিক স্ট্রিং

<FaultResponse><Copy>/<Headers> উপাদান

উৎস থেকে ত্রুটি বার্তায় নির্দিষ্ট HTTP শিরোনাম কপি করে। সমস্ত শিরোনাম অনুলিপি করতে, <Copy><Headers/></Copy>.

<Copy source='request'>
    <Headers>      
        <Header name="headerName"/>
    </Headers> 
</Copy>

একই নামের একাধিক শিরোনাম থাকলে, নিম্নলিখিত সিনট্যাক্স ব্যবহার করুন:

<Copy source='request'>
    <Headers>
      <Header name="h1"/>
      <Header name="h2"/>
      <Header name="h3.2"/>
    </Headers>
</Copy>

এই উদাহরণটি "h1", "h2" এবং "h3" এর দ্বিতীয় মানটি অনুলিপি করে। যদি "h3" এর শুধুমাত্র একটি মান থাকে, তাহলে এটি অনুলিপি করা হয় না।

ডিফল্ট:

N/A

উপস্থিতি:

ঐচ্ছিক

প্রকার:

স্ট্রিং

<FaultResponse><Copy>/<StatusCode> উপাদান

এইচটিটিপি স্ট্যাটাস কোড যেটি অবজেক্ট থেকে কপি করার জন্য সোর্স অ্যাট্রিবিউট দ্বারা নির্দিষ্ট করা ত্রুটির বার্তা।

<Copy source='response'>
    <StatusCode>404</StatusCode>      
</Copy>

ডিফল্ট:

মিথ্যা

উপস্থিতি:

ঐচ্ছিক

প্রকার:

স্ট্রিং

<FaultResponse><Copy>/<ReasonPhrase> উপাদান

ত্রুটি বার্তার উত্স বৈশিষ্ট্য দ্বারা নির্দিষ্ট বস্তু থেকে অনুলিপি করার কারণ বিবরণ৷

<Copy source='response'>     
    <ReasonPhrase>The resource requested was not found.</ReasonPhrase>     
</Copy>

ডিফল্ট:

মিথ্যা

উপস্থিতি:

ঐচ্ছিক

প্রকার:

স্ট্রিং

<FaultResponse><Remove>/<Headers> উপাদান

ত্রুটি বার্তা থেকে নির্দিষ্ট HTTP শিরোনাম মুছে দেয়। সমস্ত শিরোনাম সরাতে, <Remove><Headers/></Remove> উল্লেখ করুন। এই উদাহরণটি বার্তা থেকে user-agent শিরোনামটি সরিয়ে দেয়।

<Remove>     
    <Headers>      
        <Header name="user-agent"/>     
    </Headers> 
</Remove>

একই নামের একাধিক শিরোনাম থাকলে, নিম্নলিখিত সিনট্যাক্স ব্যবহার করুন:

<Remove>
    <Headers>
      <Header name="h1"/>
      <Header name="h2"/>
      <Header name="h3.2"/>
    </Headers>
</Remove>

এই উদাহরণটি "h1", "h2" এবং "h3" এর দ্বিতীয় মান সরিয়ে দেয়। যদি "h3" শুধুমাত্র একটি মান থাকে, তাহলে এটি সরানো হয় না।

ডিফল্ট:

N/A

উপস্থিতি:

ঐচ্ছিক

প্রকার:

স্ট্রিং

<FaultResponse><Set> উপাদান

ত্রুটি বার্তায় তথ্য সেট করে।

    <Set>
        <Headers/>
        <Payload> </Payload>
        <StatusCode/>
        <ReasonPhrase/>
    </Set>

ডিফল্ট:

N/A

উপস্থিতি:

ঐচ্ছিক

প্রকার:

N/A

<ফল্ট রেসপন্স>/<সেট>/<হেডার> উপাদান

ত্রুটি বার্তায় HTTP শিরোনাম সেট বা ওভাররাইট করে। মনে রাখবেন যে খালি হেডার <Set><Headers/></Set> কোন হেডার সেট করে না। এই উদাহরণটি user-agent শিরোনামটিকে <AssignTo> উপাদানের সাথে নির্দিষ্ট করা বার্তা ভেরিয়েবলে সেট করে।

<Set>
    <Headers>
        <Header name="user-agent">{request.header.user-agent}</Header>     
    </Headers>
</Set>

ডিফল্ট:

N/A

উপস্থিতি:

ঐচ্ছিক

প্রকার:

স্ট্রিং

<FaultResponse>/<Set>/<Payload> উপাদান

ত্রুটি বার্তার পেলোড সেট করে।

<Set>
    <Payload contentType="text/plain">test1234</Payload>
</Set>

একটি JSON পেলোড সেট করুন:

<Set>
    <Payload contentType="application/json">
        {"name":"foo", "type":"bar"}
    </Payload>
</Set>

একটি JSON পেলোডে, আপনি নিম্নলিখিত উদাহরণে দেখানো হিসাবে বিভাজক অক্ষর সহ variablePrefix এবং variableSuffix বৈশিষ্ট্যগুলি ব্যবহার করে ভেরিয়েবল সন্নিবেশ করতে পারেন।

<Set>
    <Payload contentType="application/json" variablePrefix="@" variableSuffix="#">
        {"name":"foo", "type":"@variable_name#"}
    </Payload>
</Set>

অথবা, ক্লাউড রিলিজ 16.08.17 অনুযায়ী, আপনি ভেরিয়েবল সন্নিবেশ করার জন্য কোঁকড়া ধনুর্বন্ধনীও করতে পারেন:

<Set>
    <Payload contentType="application/json">
        {"name":"foo", "type":"{variable_name}"}
    </Payload>
</Set>

XML এ একটি মিশ্র পেলোড সেট করুন:

<Set>
    <Payload contentType="text/xml">
        <root>
          <e1>sunday</e1>
          <e2>funday</e2>
          <e3>{var1}</e3>
    </Payload>
</Set>

ডিফল্ট:

উপস্থিতি:

ঐচ্ছিক

প্রকার:

স্ট্রিং

গুণাবলী

 
<Payload contentType="content_type" variablePrefix="char" variableSuffix="char">
বৈশিষ্ট্য বর্ণনা উপস্থিতি টাইপ
বিষয়বস্তুর প্রকার

যদি contentType নির্দিষ্ট করা হয়, তাহলে এর মান Content-Type হেডারে বরাদ্দ করা হয়।

ঐচ্ছিক স্ট্রিং
পরিবর্তনশীল উপসর্গ ঐচ্ছিকভাবে একটি ফ্লো ভেরিয়েবলের লিডিং ডিলিমিটার নির্দিষ্ট করে কারণ JSON পেলোড ডিফল্ট "{" অক্ষর ব্যবহার করতে পারে না। ঐচ্ছিক চর
variableSuffix ঐচ্ছিকভাবে একটি ফ্লো ভেরিয়েবলে ট্রেলিং ডিলিমিটার নির্দিষ্ট করে কারণ JSON পেলোড ডিফল্ট "}" অক্ষর ব্যবহার করতে পারে না। ঐচ্ছিক চর

<FaultResponse>/<Set>/<StatusCode> উপাদান

প্রতিক্রিয়ার স্ট্যাটাস কোড সেট করে।

<Set source='request'>
    <StatusCode>404</StatusCode>
</Set>

ডিফল্ট:

মিথ্যা

উপস্থিতি:

ঐচ্ছিক

প্রকার:

বুলিয়ান

<FaultResponse>/<Set>/<ReasonPhrase> উপাদান

প্রতিক্রিয়ার কারণ বাক্যাংশ সেট করে।

<Set source='request'>     
    <ReasonPhrase>The resource requested was not found.</ReasonPhrase>
</Set>

ডিফল্ট:

মিথ্যা

উপস্থিতি:

ঐচ্ছিক

প্রকার:

বুলিয়ান

<ShortFaultReason> উপাদান

প্রতিক্রিয়ায় একটি সংক্ষিপ্ত ত্রুটির কারণ প্রদর্শনের জন্য নির্দিষ্ট করে:

<ShortFaultReason>true|false</ShortFaultReason>

ডিফল্টরূপে, নীতির প্রতিক্রিয়াতে ত্রুটির কারণ হল:

"fault":{"faultstring":"Raising fault. Fault name : Raise-Fault-1","detail":{"errorcode":"errorCode"}}}

বার্তাটিকে আরও পঠনযোগ্য করতে, আপনি <ShortFaultReason> উপাদানটিকে সত্যে সেট করতে পারেন যাতে faultstring শুধুমাত্র নীতির নামে সংক্ষিপ্ত করতে পারেন:

"fault":{"faultstring":"Raise-Fault-1","detail":{"errorcode":"errorCode"}}}

বৈধ মান: সত্য/মিথ্যা (ডিফল্ট)।

ডিফল্ট:

মিথ্যা

উপস্থিতি:

ঐচ্ছিক

প্রকার:

বুলিয়ান

ফ্লো ভেরিয়েবল

ফ্লো ভেরিয়েবলগুলি HTTP শিরোনাম, বার্তা সামগ্রী বা ফ্লো প্রসঙ্গের উপর ভিত্তি করে রানটাইমে নীতি এবং প্রবাহের গতিশীল আচরণ সক্ষম করে। নিম্নলিখিত পূর্বনির্ধারিত ফ্লো ভেরিয়েবলগুলি একটি RaiseFault নীতি কার্যকর হওয়ার পরে উপলব্ধ। ফ্লো ভেরিয়েবল সম্পর্কে আরও তথ্যের জন্য, ভেরিয়েবল রেফারেন্স দেখুন।

পরিবর্তনশীল টাইপ অনুমতি বর্ণনা
দোষ.নাম স্ট্রিং শুধুমাত্র পঠনযোগ্য যখন RaiseFault নীতি কার্যকর হয়, এই ভেরিয়েবলটি সর্বদা RaiseFault স্ট্রিং-এ সেট করা থাকে।
fault.type স্ট্রিং শুধুমাত্র পঠনযোগ্য ত্রুটির মধ্যে ফল্টের ধরন প্রদান করে এবং যদি উপলব্ধ না হয়, একটি খালি স্ট্রিং।
fault.category স্ট্রিং শুধুমাত্র পঠনযোগ্য ত্রুটির মধ্যে ফল্ট বিভাগ প্রদান করে এবং যদি উপলব্ধ না হয়, একটি খালি স্ট্রিং।

RaiseFault এর উদাহরণ ব্যবহার

নিচের উদাহরণটি ইনবাউন্ড অনুরোধে zipcode নামের একটি queryparam উপস্থিতি কার্যকর করতে একটি শর্ত ব্যবহার করে। যদি সেই queryparam উপস্থিত না থাকে, তাহলে প্রবাহটি RaiseFault এর মাধ্যমে একটি ফল্ট বাড়াবে:

<Flow name="flow-1">
  <Request>
    <Step>
        <Name>RF-Error-MissingQueryParam</Name>
        <Condition>request.queryparam.zipcode = null</Condition>
    </Step>
   ...
   </Request>
   ...
   <Condition>(proxy.pathsuffix MatchesPath "/locations") and (request.verb = "GET")</Condition>
</Flow>
RaiseFault এ কী হবে তা নিম্নোক্ত বর্ণনা করে:
<RaiseFault name='RF-Error-MissingQueryParam'>
  <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
  <FaultResponse>
    <Set>
      <Payload contentType='application/json'>{
  "error" : {
    "code" : 400.02,
    "message" : "invalid request. Pass a zipcode queryparam."
  }
}
</Payload>
      <StatusCode>400</StatusCode>
      <ReasonPhrase>Bad Request</ReasonPhrase>
    </Set>
  </FaultResponse>
</RaiseFault>

ত্রুটি উল্লেখ

এই বিভাগটি ফল্ট কোড এবং ত্রুটি বার্তাগুলি বর্ণনা করে যেগুলি ফেরত দেওয়া হয় এবং ত্রুটি ভেরিয়েবলগুলি যেগুলি এজ দ্বারা সেট করা হয় যখন এই নীতিটি একটি ত্রুটি ট্রিগার করে৷ এই তথ্যটি জানা গুরুত্বপূর্ণ যে আপনি ত্রুটিগুলি পরিচালনা করার জন্য ত্রুটির নিয়ম তৈরি করছেন কিনা। আরও জানতে, নীতিগত ত্রুটি এবং হ্যান্ডলিং ফল্ট সম্পর্কে আপনার যা জানা দরকার তা দেখুন৷

রানটাইম ত্রুটি

নীতি কার্যকর করার সময় এই ত্রুটিগুলি ঘটতে পারে৷

ফল্ট কোড HTTP স্থিতি কারণ
steps.raisefault.RaiseFault 500 ফল্ট স্ট্রিং দেখুন।

স্থাপনার ত্রুটি

কোনোটিই নয়।

ফল্ট ভেরিয়েবল

রানটাইম ত্রুটি ঘটলে এই ভেরিয়েবলগুলি সেট করা হয়। আরও তথ্যের জন্য, নীতি ত্রুটি সম্পর্কে আপনার যা জানা দরকার তা দেখুন।

ভেরিয়েবল যেখানে উদাহরণ
fault.name=" fault_name " fault_name হল ফল্টের নাম, যা উপরে রানটাইম ত্রুটির সারণীতে তালিকাভুক্ত করা হয়েছে। ফল্ট নামটি ফল্ট কোডের শেষ অংশ। fault.name = "RaiseFault"
raisefault. policy_name .failed policy_name হল সেই নীতির ব্যবহারকারী-নির্দিষ্ট নাম যা ত্রুটিটি ফেলেছে। raisefault.RF-ThrowError.failed = true

উদাহরণ ত্রুটি প্রতিক্রিয়া

{
   "fault":{
      "detail":{
         "errorcode":"steps.raisefault.RaiseFault"
      },
      "faultstring":"Raising fault. Fault name: [name]"
   }
}

স্কিমা

প্রতিটি নীতির ধরন একটি XML স্কিমা ( .xsd ) দ্বারা সংজ্ঞায়িত করা হয়। রেফারেন্সের জন্য, নীতি স্কিমা GitHub এ উপলব্ধ।

সম্পর্কিত বিষয়

হ্যান্ডলিং ফল্ট দেখুন