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

OASValidation নীতি সম্পর্কে
OASValidation (OpenAPI স্পেসিফিকেশন ভ্যালিডেশন) নীতি আপনাকে OpenAPI 3.0 স্পেসিফিকেশন (JSON বা YAML) এর বিরুদ্ধে একটি ইনকামিং অনুরোধ বা প্রতিক্রিয়া বার্তা যাচাই করতে সক্ষম করে। দেখুন কি বিষয়বস্তু যাচাই করা হয়?
OASValidation নীতিটি ওপেনএপিআই স্পেসিফিকেশনের নাম উল্লেখ করে যেটি পলিসিটি সংযুক্ত করার ধাপটি কার্যকর হলে বৈধতার জন্য ব্যবহার করা হবে। OpenAPI স্পেসিফিকেশন API প্রক্সি বান্ডেলের মধ্যে নিম্নোক্ত স্ট্যান্ডার্ড অবস্থানে একটি সংস্থান হিসাবে সংরক্ষণ করা হয়: apiproxy/resources/oas
। OpenAPI স্পেসিফিকেশনের অবশ্যই একটি .json
, .yml
, .yaml
এক্সটেনশন থাকতে হবে৷
UI বা API ব্যবহার করে একটি API প্রক্সি বান্ডেলে একটি সংস্থান হিসাবে একটি OpenAPI স্পেসিফিকেশন যোগ করুন, যেমন সম্পদ পরিচালনা করুন -এ বর্ণিত।
কি বিষয়বস্তু বৈধ করা হয়?
নিম্নলিখিত সারণী অনুরোধ বার্তা বিষয়বস্তুর সারসংক্ষেপ করে যা OASValidation নীতি দ্বারা, উপাদান দ্বারা যাচাই করা হয়।
উপাদান | বৈধতা অনুরোধ |
---|---|
বেসপথ | API প্রক্সি দ্বারা সংজ্ঞায়িত বেসপাথ যাচাই করে; OpenAPI স্পেসিফিকেশনে নির্দিষ্ট করা বেসপাথ উপেক্ষা করে। |
পথ | যাচাই করে যে অনুরোধ পাথ (মাইনাস বেসপাথ) OpenAPI স্পেসিফিকেশনে সংজ্ঞায়িত পাথ প্যাটার্নগুলির একটির সাথে মেলে। |
ক্রিয়া | ওপেনএপিআই স্পেসিফিকেশনে পাথের জন্য ক্রিয়া সংজ্ঞায়িত করা হয়েছে তা যাচাই করে। |
অনুরোধ বার্তা বডি |
দ্রষ্টব্য: নীতিটি OpenAPI স্পেসিফিকেশনের বিরুদ্ধে একটি অনুরোধ বার্তা বডিকে বৈধতা দেয় শুধুমাত্র যদি বিষয়বস্তু-প্রকার |
পরামিতি |
|
নিম্নলিখিত সারণী প্রতিক্রিয়া বার্তা বিষয়বস্তুর সংক্ষিপ্ত করে যা OASValidation নীতি দ্বারা, উপাদান দ্বারা যাচাই করা হয়।
উপাদান | প্রতিক্রিয়া বৈধতা |
---|---|
পথ | যাচাই করে যে অনুরোধ পাথ (মাইনাস বেসপাথ) OpenAPI স্পেসিফিকেশনে সংজ্ঞায়িত পাথ প্যাটার্নগুলির একটির সাথে মেলে। |
ক্রিয়া | ওপেনএপিআই স্পেসিফিকেশনে পাথের জন্য ক্রিয়া সংজ্ঞায়িত করা হয়েছে তা যাচাই করে। |
প্রতিক্রিয়া বার্তা বডি |
|
নমুনা
নিম্নলিখিত উদাহরণগুলি কিছু উপায় দেখায় যেখানে আপনি একটি OpenAPI 3.0 স্পেসিফিকেশনের বিরুদ্ধে বার্তাগুলিকে যাচাই করতে OASValidation নীতি ব্যবহার করতে পারেন৷
অনুরোধ বার্তা যাচাই করুন
নিম্নলিখিত উদাহরণে, myoaspolicy
নীতি my-spec.json
OpenAPI স্পেসিফিকেশনে সংজ্ঞায়িত অপারেশনের অনুরোধ বার্তা বডি স্কিমার বিরুদ্ধে অনুরোধ বার্তার মূল অংশকে বৈধ করে।
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.json</OASResource> <Options> <ValidateMessageBody>true</ValidateMessageBody> </Options> <Source>request</Source> </OASValidation>
যদি বার্তার মূল অংশ OpenAPI স্পেসিফিকেশনের সাথে সামঞ্জস্য না করে, তাহলে একটি policies.oasvalidation.Failed
ব্যর্থ ত্রুটি ফেরত দেওয়া হয়।
পরামিতি যাচাই করুন
নিম্নলিখিত উদাহরণটি ব্যর্থ হওয়ার জন্য নীতি কনফিগার করে যদি একটি শিরোনাম, ক্যোয়ারী, বা কুকি প্যারামিটারগুলি অনুরোধে নির্দিষ্ট করা হয় যা OpenAPI স্পেসিফিকেশনে সংজ্ঞায়িত করা হয়নি৷
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Options> <AllowUnspecifiedParameters> <Header>false</Header> <Query>false</Query> <Cookie>false</Cookie> </AllowUnspecifiedParameters> </Options> </OASValidation>
<OASValidation>
উপাদান
OpenAPI স্পেসিফিকেশন যাচাইকরণ নীতি সংজ্ঞায়িত করে।
ডিফল্ট মান | নীচের ডিফল্ট নীতি ট্যাব দেখুন |
প্রয়োজন? | প্রয়োজন |
টাইপ | জটিল বস্তু |
অভিভাবক উপাদান | n/a |
শিশু উপাদান | <DisplayName> <OASResource> <Source> <Options> <Source> |
সিনট্যাক্স
<OASValidation>
উপাদান নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
<OASValidation continueOnError="[true|false]" enabled="[true|false]" name="policy_name" > <!-- All OASValidation child elements are optional except OASResource --> <DisplayName>policy_display_name</DisplayName> <OASResource>validation_JSON_or_YAML</OASResource> <Options> <ValidateMessageBody>[true|false]</ValidateMessageBody> <AllowUnspecifiedParameters> <Header>[true|false]</Header> <Query>[true|false]</Query> <Cookie>[true|false]</Cookie> </AllowUnspecifiedParameters> </Options> <Source>message_to_validate</Source> </OASValidation>
ডিফল্ট নীতি
আপনি যখন Apigee UI-তে আপনার প্রবাহে একটি OAS যাচাইকরণ নীতি যোগ করেন তখন নিম্নলিখিত উদাহরণটি ডিফল্ট সেটিংস দেখায়:
<OASValidation continueOnError="false" enabled="true" name="OpenAPI-Spec-Validation-1"> <DisplayName>OpenAPI Spec Validation-1</DisplayName> <Properties/> <Source>request</Source> <OASResource>oas://OpenAPI-Spec-Validation-1.yaml</OASResource> </OASValidation>
এই উপাদানটির নিম্নলিখিত বৈশিষ্ট্যগুলি রয়েছে যা সমস্ত নীতিতে সাধারণ:
বৈশিষ্ট্য | ডিফল্ট | প্রয়োজন? | বর্ণনা |
---|---|---|---|
name | N/A | প্রয়োজন | নীতির অভ্যন্তরীণ নাম। ঐচ্ছিকভাবে, ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে |
continueOnError | মিথ্যা | ঐচ্ছিক | একটি নীতি ব্যর্থ হলে একটি ত্রুটি ফেরত দিতে "false" এ সেট করুন৷ এটি বেশিরভাগ নীতির জন্য প্রত্যাশিত আচরণ। একটি নীতি ব্যর্থ হওয়ার পরেও প্রবাহ সম্পাদন অব্যাহত রাখতে "সত্য" তে সেট করুন৷ |
enabled | সত্য | ঐচ্ছিক | নীতি প্রয়োগ করতে "সত্য" এ সেট করুন। নীতিটি "বন্ধ" করতে "মিথ্যা" এ সেট করুন। নীতিটি প্রবাহের সাথে সংযুক্ত থাকলেও তা কার্যকর করা হবে না। |
async | মিথ্যা | অবচয় | এই বৈশিষ্ট্যটি অবমূল্যায়ন করা হয়েছে৷ |
শিশু উপাদান রেফারেন্স
এই বিভাগে <OASValidation>
এর চাইল্ড উপাদানগুলি বর্ণনা করা হয়েছে।
<DisplayName>
ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, আরও স্বাভাবিক-শব্দযুক্ত নামের সাথে লেবেল করতে name
বৈশিষ্ট্যের পাশাপাশি ব্যবহার করুন৷
<DisplayName>
উপাদানটি সকল নীতিতে সাধারণ।
ডিফল্ট মান | n/a |
প্রয়োজন? | ঐচ্ছিক। আপনি <DisplayName> বাদ দিলে, নীতির name বৈশিষ্ট্যের মান ব্যবহার করা হয় |
টাইপ | স্ট্রিং |
অভিভাবক উপাদান | < PolicyElement > |
শিশু উপাদান | কোনোটিই নয় |
<DisplayName>
উপাদানটি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
সিনট্যাক্স
<PolicyElement> <DisplayName>policy_display_name</DisplayName> ... </PolicyElement>
উদাহরণ
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
<DisplayName>
উপাদানটির কোনো বৈশিষ্ট্য বা শিশু উপাদান নেই।
<OASResource>
এর বিরুদ্ধে যাচাই করার জন্য OpenAPI স্পেসিফিকেশন নির্দিষ্ট করে। আপনি এই ফাইল সংরক্ষণ করতে পারেন:
- API প্রক্সি বান্ডেলে
/apiproxy/resources/oas
এর অধীনে API প্রক্সি স্কোপে - এপিআই প্রক্সি এডিটরের নেভিগেটর ভিউ এর
Resources
বিভাগে।
আরও তথ্যের জন্য, সম্পদ পরিচালনা দেখুন।
আপনি একটি বার্তা টেমপ্লেট ব্যবহার করে OpenAPI স্পেসিফিকেশন নির্দিষ্ট করতে পারেন, যেমন {oas.resource.url}
। এই ক্ষেত্রে, ফ্লো ভেরিয়েবল oas.resource.url
এর মান (কোঁকড়া ধনুর্বন্ধনীতে) মূল্যায়ন করা হবে এবং রানটাইমে পেলোড স্ট্রিংয়ে প্রতিস্থাপিত হবে। আরও তথ্যের জন্য, বার্তা টেমপ্লেটগুলি দেখুন।
ডিফল্ট মান | কোনোটিই নয় |
প্রয়োজন? | প্রয়োজন |
টাইপ | স্ট্রিং |
অভিভাবক উপাদান | <OASValidation> |
শিশু উপাদান | কোনোটিই নয় |
সিনট্যাক্স
<OASResource>
উপাদান নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> ... </OASValidation>
উদাহরণ
নিম্নলিখিত উদাহরণটি my-spec.yaml
স্পেসিফিকেশন উল্লেখ করে যা API প্রক্সি বান্ডেলে /apiproxy/resources/oas
এর অধীনে সংরক্ষণ করা হয়:
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> </OASValidation>
<OASResource>
উপাদানটির কোনো বৈশিষ্ট্য বা শিশু উপাদান নেই।
<বিকল্প>
নীতির জন্য বিকল্পগুলি কনফিগার করে৷
ডিফল্ট মান | n/a |
প্রয়োজন? | ঐচ্ছিক |
টাইপ | জটিল প্রকার |
অভিভাবক উপাদান | <OASValidation> |
শিশু উপাদান | <ValidateMessageBody> <AllowUnspecifiedParameters> |
সিনট্যাক্স
<Options>
উপাদান নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> <Options> <ValidateMessageBody>[true|false]</ValidateMessageBody> <AllowUnspecifiedParameters> <Header>[true|false]</Header> <Query>[true|false]</Query> <Cookie>[true|false]</Cookie> </AllowUnspecifiedParameters> </Options> ... </OASValidation>
উদাহরণ
নিম্নলিখিত উদাহরণ নীতির জন্য বিকল্পগুলি কনফিগার করে৷ প্রতিটি বিকল্প নীচে আরও বিশদে বর্ণনা করা হয়েছে।
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Options> <ValidateMessageBody>false</ValidateMessageBody> <AllowUnspecifiedParameters> <Header>false</Header> <Query>false</Query> <Cookie>false</Cookie> </AllowUnspecifiedParameters> </Options> </OASValidation>
<ValidateMessageBody>
ওপেনএপিআই স্পেসিফিকেশনে অপারেশনের রিকোয়েস্ট বডি স্কিমার বিরুদ্ধে নীতিটি মেসেজ বডিকে যাচাই করবে কিনা তা নির্দিষ্ট করে। বার্তার মূল বিষয়বস্তু যাচাই করতে সত্যে সেট করুন। বার্তার মূল অংশটি বিদ্যমান তা যাচাই করতে মিথ্যাতে সেট করুন৷
আপনি <OASValidation>
উপাদানটির জন্য continueOnError
অ্যাট্রিবিউটটিকে সত্যে সেট করে একটি বৈধতা ত্রুটি অনুসরণ করে ফ্লো এক্সিকিউশন চলতে থাকবে কিনা তা নিয়ন্ত্রণ করতে পারেন।
ডিফল্ট মান | মিথ্যা |
প্রয়োজন? | ঐচ্ছিক |
টাইপ | বুলিয়ান |
অভিভাবক উপাদান | <Options> |
শিশু উপাদান | কোনোটিই নয় |
সিনট্যাক্স
<ValidateMessageBody>
উপাদান নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> <Options> <ValidateMessageBody>[true|false]</ValidateMessageBody> </Options> ... </OASValidation>
উদাহরণ
নিম্নলিখিত উদাহরণটি বার্তার মূল বিষয়বস্তুর বৈধতা সক্ষম করে:
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Options> <ValidateMessageBody>true</ValidateMessageBody> </Options> </OASValidation>
<AllowUnspecifiedParameters>
ওপেনএপিআই স্পেসিফিকেশনে সংজ্ঞায়িত না থাকা অনুরোধে হেডার, ক্যোয়ারী বা কুকি প্যারামিটার থাকলে নীতির আচরণ কনফিগার করে।
ডিফল্ট মান | n/a |
প্রয়োজন? | ঐচ্ছিক |
টাইপ | জটিল প্রকার |
অভিভাবক উপাদান | <Options> |
শিশু উপাদান | <Header> <Query> <Cookie> |
সিনট্যাক্স
<AllowUnspecifiedParameters>
উপাদানটি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> <Options> <AllowUnspecifiedParameters> <Header>[true|false]</Header> <Query>[true|false]</Query> <Cookie>[true|false]</Cookie> </AllowUnspecifiedParameters> </Options> ... </OASValidation>
উদাহরণ
নিম্নলিখিত উদাহরণটি ব্যর্থ হওয়ার জন্য নীতি কনফিগার করে যদি একটি শিরোনাম, ক্যোয়ারী, বা কুকি প্যারামিটারগুলি অনুরোধে নির্দিষ্ট করা হয় যা OpenAPI স্পেসিফিকেশনে সংজ্ঞায়িত করা হয়নি৷
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Options> <AllowUnspecifiedParameters> <Header>false</Header> <Query>false</Query> <Cookie>false</Cookie> </AllowUnspecifiedParameters> </Options> </OASValidation>
<Header>
( <AllowUnspecifiedParameters>
এর সন্তান)
ওপেনএপিআই স্পেসিফিকেশনে সংজ্ঞায়িত না থাকা অনুরোধে হেডার প্যারামিটার থাকলে নীতির আচরণ কনফিগার করে।
ওপেনএপিআই স্পেসিফিকেশনে সংজ্ঞায়িত নয় এমন অনুরোধে হেডার প্যারামিটার নির্দিষ্ট করার অনুমতি দিতে, এই প্যারামিটারটিকে সত্যে সেট করুন। অন্যথায়, নীতি কার্যকর করতে ব্যর্থ হওয়ার জন্য এই প্যারামিটারটিকে মিথ্যাতে সেট করুন।
ডিফল্ট মান | সত্য |
প্রয়োজন? | বুলিয়ান |
টাইপ | জটিল প্রকার |
অভিভাবক উপাদান | <AllowUnspecifiedParameters> |
শিশু উপাদান | কোনোটিই নয় |
সিনট্যাক্স
<Header>
উপাদান নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> <Options> <AllowUnspecifiedParameters> <Header>[true|false]</Header> </AllowUnspecifiedParameters> </Options> ... </OASValidation>
উদাহরণ
নিম্নলিখিত উদাহরণটি ব্যর্থ হওয়ার জন্য নীতিটি কনফিগার করে যদি একটি হেডার প্যারামিটার অনুরোধে নির্দিষ্ট করা হয় যা OpenAPI স্পেসিফিকেশনে সংজ্ঞায়িত করা হয়নি।
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Options> <AllowUnspecifiedParameters> <Header>false</Header> </AllowUnspecifiedParameters> </Options> </OASValidation>
<Query>
( <AllowUnspecifiedParameters>
এর সন্তান )
ওপেনএপিআই স্পেসিফিকেশনে সংজ্ঞায়িত না থাকা অনুরোধে কোয়েরি প্যারামিটার থাকলে নীতির আচরণ কনফিগার করে।
ওপেনএপিআই স্পেসিফিকেশনে সংজ্ঞায়িত নয় এমন অনুরোধে ক্যোয়ারী প্যারামিটার নির্দিষ্ট করার অনুমতি দিতে, এই প্যারামিটারটিকে সত্যে সেট করুন। অন্যথায়, নীতি কার্যকর করতে ব্যর্থ হওয়ার জন্য এই প্যারামিটারটিকে মিথ্যাতে সেট করুন।
ডিফল্ট মান | সত্য |
প্রয়োজন? | বুলিয়ান |
টাইপ | জটিল প্রকার |
অভিভাবক উপাদান | <AllowUnspecifiedParameters> |
শিশু উপাদান | কোনোটিই নয় |
সিনট্যাক্স
<Query>
উপাদান নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> <Options> <AllowUnspecifiedParameters> <Query>[true|false]</Query> </AllowUnspecifiedParameters> </Options> ... </OASValidation>
উদাহরণ
নিম্নলিখিত উদাহরণটি ব্যর্থ হওয়ার জন্য নীতিটি কনফিগার করে যদি অনুরোধে একটি কোয়েরি প্যারামিটার নির্দিষ্ট করা হয় যা OpenAPI স্পেসিফিকেশনে সংজ্ঞায়িত করা হয়নি।
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Options> <AllowUnspecifiedParameters> <Query>false</Query> </AllowUnspecifiedParameters> </Options> </OASValidation>
ওপেনএপিআই স্পেসিফিকেশনে সংজ্ঞায়িত না থাকা অনুরোধে কুকি প্যারামিটার থাকলে নীতির আচরণ কনফিগার করে।
ওপেনএপিআই স্পেসিফিকেশনে সংজ্ঞায়িত নয় এমন অনুরোধে কুকি প্যারামিটার নির্দিষ্ট করার অনুমতি দিতে, এই প্যারামিটারটিকে সত্যে সেট করুন। অন্যথায়, নীতি কার্যকর করতে ব্যর্থ হওয়ার জন্য এই প্যারামিটারটিকে মিথ্যাতে সেট করুন।
ডিফল্ট মান | সত্য |
প্রয়োজন? | বুলিয়ান |
টাইপ | জটিল প্রকার |
অভিভাবক উপাদান | <AllowUnspecifiedParameters> |
শিশু উপাদান | কোনোটিই নয় |
সিনট্যাক্স
<Cookie>
উপাদান নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> <Options> <AllowUnspecifiedParameters> <Query>[true|false]</Query> </AllowUnspecifiedParameters> </Options> ... </OASValidation>
উদাহরণ
নিম্নলিখিত উদাহরণটি ব্যর্থ হওয়ার জন্য নীতিটি কনফিগার করে যদি অনুরোধে একটি কোয়েরি প্যারামিটার নির্দিষ্ট করা হয় যা OpenAPI স্পেসিফিকেশনে সংজ্ঞায়িত করা হয়নি।
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Options> <AllowUnspecifiedParameters> <Cookie>false</Cookie> </AllowUnspecifiedParameters> </Options> </OASValidation>
<Source>
JSON বার্তা JSON পেলোড আক্রমণের বিরুদ্ধে মূল্যায়ন করা হবে। এটি সাধারণত request
জন্য সেট করা হয়, কারণ আপনাকে সাধারণত ক্লায়েন্ট অ্যাপ থেকে অন্তর্মুখী অনুরোধগুলি মূল্যায়ন করতে হবে। প্রতিক্রিয়া বার্তা মূল্যায়নের জন্য প্রতিক্রিয়া সেট করুন। যখন নীতিটি অনুরোধের প্রবাহের সাথে সংযুক্ত থাকে তখন অনুরোধ বার্তাটি স্বয়ংক্রিয়ভাবে মূল্যায়ন করতে বার্তায় সেট করুন এবং যখন নীতিটি প্রতিক্রিয়া প্রবাহের সাথে সংযুক্ত থাকে তখন প্রতিক্রিয়া বার্তা৷
ডিফল্ট মান | অনুরোধ |
প্রয়োজন? | ঐচ্ছিক |
টাইপ | স্ট্রিং |
অভিভাবক উপাদান | <Source> |
শিশু উপাদান | কোনোটিই নয় |
সিনট্যাক্স
<Source>
উপাদান নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
<OASValidation name="policy_name"> <OASResource>oas://specname[.json|.yaml|.yml]</OASResource> <Source>[message|request|response]</Source> ... </OASValidation>
উদাহরণ
নিম্নলিখিত উদাহরণ স্বয়ংক্রিয়ভাবে অনুরোধের বার্তাটিকে মূল্যায়ন করে যখন নীতিটি অনুরোধের প্রবাহের সাথে সংযুক্ত থাকে এবং যখন নীতিটি প্রতিক্রিয়া প্রবাহের সাথে সংযুক্ত থাকে তখন প্রতিক্রিয়া বার্তাটিকে মূল্যায়ন করে:
<OASValidation name="myoaspolicy"> <OASResource>oas://my-spec.yaml</OASResource> <Source>message</Source> </OASValidation>
<Source>
উপাদানটির কোনো বৈশিষ্ট্য বা শিশু উপাদান নেই।
স্কিমাস
প্রতিটি নীতির ধরন একটি XML স্কিমা ( .xsd
) দ্বারা সংজ্ঞায়িত করা হয়। রেফারেন্সের জন্য, নীতি স্কিমা GitHub এ উপলব্ধ।
ত্রুটি কোড
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
Fault code | HTTP status | Cause | |
---|---|---|---|
steps.oasvalidation.Failed |
500 | Request message body cannot be validated against the provided OpenAPI Specification. | |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
Variable specified in the |
|
steps.oasvalidation.NotMessageVariable |
500 |
|
build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
Error name | Cause | |
---|---|---|
ResourceDoesNotExist |
OpenAPI Specification referenced in the <OASResource> element does not exist.
|
|
ResourceCompileFailed |
OpenAPI Specification that is included in the deployment contains errors that prevent it from being compiled. This generally indicates that the specification is not a well-formed OpenAPI Specification 3.0. | |
BadResourceURL |
OpenAPI Specification referenced in the <OASResource> element cannot be processed. This can occur if the file is not a JSON or YAML file or the
file URL is not specified correctly.
|
Fault variables
These variables are set when this policy triggers an error at runtime. For more information, see What you need to know about policy errors.
Variables | Where | Example |
---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name Matches "ResourceDoesNotExist" |
oasvalidation.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | oasvalidation.myoaspolicy.failed = true |
সমর্থিত OpenAPI স্পেসিফিকেশন বৈশিষ্ট্য
OASValidation নীতি OpenAPI স্পেসিফিকেশন বৈশিষ্ট্যগুলিকে সমর্থন করে যা নিম্নলিখিত সারণীতে, বিভাগ অনুসারে সংক্ষিপ্ত করা হয়েছে। যে বৈশিষ্ট্যগুলি সমর্থিত নয় সেগুলিও তালিকাভুক্ত করা হয়েছে৷
শ্রেণী | সমর্থিত | সমর্থিত নয় |
---|---|---|
ডেটা টাইপ ফরম্যাট | বুলিয়ান তারিখ তারিখ-সময় দ্বিগুণ ইমেইল ভাসা int32/int64 ipv4/ipv6 md5 sha1/sha256/sha512 স্ট্রিং ইউরি uri-টেমপ্লেট uuid | বাইনারি বাইট পাসওয়ার্ড |
বৈষম্যকারী বস্তু | ম্যাপিং সম্পত্তির নাম | N/A |
মিডিয়া টাইপ অবজেক্ট | স্কিমা | এনকোডিং উদাহরণ উদাহরণ |
অপারেশন অবজেক্ট | পরামিতি অনুরোধবডি প্রতিক্রিয়া নিরাপত্তা (আংশিক সমর্থন) | কলব্যাক অবমূল্যায়ন সার্ভার |
পরামিতি অবজেক্ট | অনুমতি খালি মান ইন ( query , header , path )প্রয়োজনীয় প্রতিক্রিয়া স্কিমা শৈলী ( deepObject , form , formmatrix , label , pipeDelimited , simple , spaceDelimited )দ্রষ্টব্য: deepObject শুধুমাত্র স্ট্রিং পরামিতি সমর্থন করে; অ্যারে এবং নেস্টেড অবজেক্ট সমর্থিত নয়। | অনুমতি সংরক্ষিত অবমূল্যায়ন উদাহরণ উদাহরণ বিষয়বস্তু |
পাথ অবজেক্ট | মুছে দিন পেতে মাথা বিকল্প পরামিতি প্যাচ পোস্ট রাখা ট্রেস ভেরিয়েবল | সার্ভার |
শরীরের বস্তু অনুরোধ | অ্যাপ্লিকেশন/জেসন অ্যাপ্লিকেশন/hal+json অ্যাপ্লিকেশন/x-www-form-urlencoded ( encoding অবজেক্ট সমর্থিত নয়)বিষয়বস্তু প্রয়োজনীয় | অ্যাপ্লিকেশন/এক্সএমএল মাল্টিপার্ট/ফর্ম-ডেটা টেক্সট/প্লেইন টেক্সট/এক্সএমএল |
প্রতিক্রিয়া বস্তু | অ্যাপ্লিকেশন/জেসন অ্যাপ্লিকেশন/hal+json অ্যাপ্লিকেশন/x-www-form-urlencoded ( encoding অবজেক্ট সমর্থিত নয়)বিষয়বস্তু হেডার | অ্যাপ্লিকেশন/এক্সএমএল লিঙ্ক টেক্সট/প্লেইন টেক্সট/এক্সএমএল |
প্রতিক্রিয়া অবজেক্ট | ডিফল্ট HTTP স্ট্যাটাস কোড | N/A |
স্কিমা অবজেক্ট | $রেফ অতিরিক্ত বৈশিষ্ট্য (শুধুমাত্র বুলিয়ান পতাকা বৈকল্পিক) allOf ( additionalProperties false হলে উপেক্ষা করা হয়)anyOf enum এক্সক্লুসিভ ম্যাক্সিমাম/এক্সক্লুসিভ ন্যূনতম বিন্যাস আইটেম সর্বোচ্চ/সর্বনিম্ন সর্বোচ্চ আইটেম/মিনিট আইটেম সর্বোচ্চ দৈর্ঘ্য/মিনিট দৈর্ঘ্য maxProperties/minimproperties একাধিক না বাতিলযোগ্য oneof প্যাটার্ন বৈশিষ্ট্য প্রয়োজনীয় শিরোনাম প্রকার অনন্য আইটেম | অবমূল্যায়ন উদাহরণ শুধুমাত্র পঠন শুধু লিখুন xml |
নিরাপত্তা প্রকল্প বস্তু | ইন ( header , query ) (যদি type http হয় উপেক্ষা করা হয়)নাম টাইপ করুন ( apiKey , http ) | bearer ফরম্যাট প্রবাহিত openIdConnectUrl স্কিম |
সার্ভার অবজেক্ট | url ভেরিয়েবল | একাধিক সার্ভার সংজ্ঞা |