বার্তা প্রবাহ পরিবর্তনশীল

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

message ফ্লো ভেরিয়েবলের অ্যাক্সেস এবং এর বৈশিষ্ট্যগুলি API প্রক্সি ফ্লো-এর মধ্যে যে বিন্দুতে এটি অ্যাক্সেস করা হয়েছে তার উপর নির্ভর করে। এটি সমস্ত প্রসঙ্গে উপলব্ধ, যেখানে কিছু বস্তু, যেমন request বা response নয়।

কেস ব্যবহার করুন

message ফ্লো ভেরিয়েবলের জন্য প্রধান ব্যবহার হল যখন আপনার প্রক্সি ত্রুটির প্রবাহে প্রবেশ করে: request এবং response প্রবাহ ভেরিয়েবল সুযোগের বাইরে।

উদাহরণস্বরূপ, ত্রুটি প্রবাহে, response বস্তু উপলব্ধ নয়। আপনি যদি ত্রুটির প্রবাহে থাকেন তবে জাভাস্ক্রিপ্ট নীতি সহ response অবজেক্টে প্রতিক্রিয়া শিরোনাম সেট করতে পারবেন না। পরিবর্তে, আপনি নিম্নলিখিতগুলির মধ্যে একটি ব্যবহার করতে পারেন:

এই দুটি বস্তুই ত্রুটির প্রবাহে উপলব্ধ, এবং একটি JavaScript নীতির মধ্যে থেকে প্রতিক্রিয়া শিরোনাম সেট করতে বা ফ্লো ভেরিয়েবল ব্যবহার করতে পারে এমন অন্যান্য নীতিতে অ্যাক্সেস করা যেতে পারে।

রেসপন্স অবজেক্টে হেডারের মতো মান বরাদ্দ করতে আপনি AssignMessage নীতি ব্যবহার করতে পারেন। অ্যাসাইন মেসেজ স্বয়ংক্রিয়ভাবে অনুরোধ/প্রতিক্রিয়া প্রবাহ থেকে ত্রুটির প্রবাহে প্রেক্ষাপটে সুইচ পরিচালনা করে।

message ভেরিয়েবলের আরেকটি ব্যবহারের ক্ষেত্রে মেসেজলগিং নীতির সাথে PostClientFlow-এ প্রতিক্রিয়া ডেটা লগ করা। আপনি যদি message অবজেক্ট ব্যবহার করেন, আপনি প্রক্সিতে সাফল্য এবং ত্রুটি উভয় শর্ত অনুসরণ করে প্রতিক্রিয়া তথ্য নির্বিঘ্নে লগ করতে পারেন।

উদাহরণ

একটি ত্রুটি প্রবাহে, আপনি error বা message ব্যবহার করে একটি জাভাস্ক্রিপ্ট নীতি থেকে একটি প্রতিক্রিয়া শিরোনাম সেট করতে পারেন। যেমন:

context.setVariable('error.header.FOO-1', 'error_header');

বা

context.setVariable('message.header.FOO-2', 'message_header');

নিম্নলিখিত অভিব্যক্তি, যাইহোক, কাজ করবে না :

context.setVariable('response.header.FOO-3', 'response_header');

এই ক্ষেত্রে, response ভেরিয়েবল ত্রুটি প্রবাহের সুযোগের বাইরে। (উল্লেখ্য যে, একটি ট্রেসে, এটি একটি স্ল্যাশ সহ একটি সমান চিহ্ন সহ প্রদর্শিত ভেরিয়েবল দ্বারা দৃশ্যত নির্দেশিত হয়।)

একটি একক নীতিতে সাফল্য এবং ত্রুটির প্রবাহ উভয়ের জন্য প্রতিক্রিয়া শিরোনাম সেট করতে, আপনি একটি JavaScript নীতির ভিতরে message ব্যবহার করতে পারেন। যেমন:

<faultrules>
  <faultrule name="invalid_key_rule">
    <step>
      <name>SetResponseHeaders</name>
    </step>
    <condition>(fault.name = "InvalidApiKey")</condition>
  </faultrule>
</faultrules>

নীতিতে, নিচের মত কোড যেকোনো প্রবাহ প্রসঙ্গে ত্রুটি/প্রতিক্রিয়া শিরোনাম সেট করে:

context.setVariable('message.header.FOO-1', 'the header value');

আপনি স্বাভাবিক প্রক্সি রেসপন্স প্রবাহে এই একই নীতিটি পুনরায় ব্যবহার করতে পারেন এবং এটি সফল হবে কারণ সমস্ত প্রসঙ্গ থেকে message উপলব্ধ।