আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান । তথ্য
কি
সার্ভিস কলআউট নীতি আপনাকে আপনার API প্রক্সি ফ্লো থেকে অন্য পরিষেবাতে কল করতে দেয়। আপনি একটি বহিরাগত পরিষেবা (যেমন একটি বহিরাগত RESTful পরিষেবা শেষ বিন্দু) অথবা অভ্যন্তরীণ পরিষেবাগুলিতে (যেমন একই সংস্থা এবং পরিবেশে একটি API প্রক্সি) কলআউট করতে পারেন।
- বাহ্যিক ব্যবহারের ক্ষেত্রে, আপনি আপনার প্রক্সির বাইরের কোনও তৃতীয় পক্ষের API-তে কলআউট করেন। তৃতীয় পক্ষের API থেকে প্রাপ্ত প্রতিক্রিয়া পার্স করা হয় এবং আপনার API-এর প্রতিক্রিয়া বার্তায় সন্নিবেশ করা হয়, যা অ্যাপ ব্যবহারকারীদের জন্য ডেটা সমৃদ্ধ এবং "ম্যাশ আপ" করে। আপনি অনুরোধ প্রবাহে পরিষেবা কলআউট নীতি ব্যবহার করে একটি অনুরোধও করতে পারেন, তারপর প্রতিক্রিয়ার তথ্য API প্রক্সির TargetEndpoint-এ প্রেরণ করতে পারেন।
- অন্য ব্যবহারের ক্ষেত্রে, আপনি এমন একটি প্রক্সি কল করেন যা আপনি যে সংস্থা এবং পরিবেশ থেকে কল করছেন সেই একই সংস্থা এবং পরিবেশে থাকে। উদাহরণস্বরূপ, আপনার কাছে এটি কার্যকর হতে পারে যখন আপনার এমন একটি প্রক্সি থাকে যা কিছু বিচ্ছিন্ন নিম্ন-স্তরের কার্যকারিতা প্রদান করে যা এক বা একাধিক অন্যান্য প্রক্সি ব্যবহার করবে। উদাহরণস্বরূপ, একটি প্রক্সি যা ব্যাকএন্ড ডেটা স্টোরের সাহায্যে তৈরি/পড়া/আপডেট/মুছে ফেলার ক্রিয়াকলাপ প্রকাশ করে, তা একাধিক অন্যান্য প্রক্সির জন্য লক্ষ্য প্রক্সি হতে পারে যা ক্লায়েন্টদের কাছে ডেটা প্রকাশ করে।
এই নীতিটি HTTP এবং HTTPS এর মাধ্যমে অনুরোধগুলিকে সমর্থন করে।
নমুনা
একটি অভ্যন্তরীণ প্রক্সিতে স্থানীয় কল
<LocalTargetConnection>
<APIProxy>data-manager</APIProxy>
<ProxyEndpoint>default</ProxyEndpoint>
</LocalTargetConnection> এই উদাহরণটি একটি স্থানীয় API প্রক্সিতে (অর্থাৎ, একই প্রতিষ্ঠান এবং পরিবেশে থাকা একটি) একটি কলআউট তৈরি করে যাকে data-manager বলা হয়, যা তার প্রক্সি এন্ডপয়েন্ট নির্দিষ্ট করে যার নাম default ।
একটি ভেরিয়েবল হিসেবে URL
<HTTPTargetConnection>
<URL>http://example.com/{request.myResourcePath}</URL>
</HTTPTargetConnection>এই উদাহরণে URL-এ একটি ভেরিয়েবল ব্যবহার করে টার্গেটের URL গতিশীলভাবে পূরণ করা হয়েছে। URL-এর প্রোটোকল অংশ, http:// , কোনও ভেরিয়েবল দ্বারা নির্দিষ্ট করা যাবে না। এছাড়াও, আপনাকে URL-এর ডোমেন অংশ এবং URL-এর বাকি অংশের জন্য পৃথক ভেরিয়েবল ব্যবহার করতে হবে।
গুগল জিওকোডিং / সংজ্ঞায়িত অনুরোধ
<ServiceCallout name="ServiceCallout-GeocodingRequest1"> <DisplayName>Inline request message</DisplayName> <Request variable="authenticationRequest"> <Set> <QueryParams> <QueryParam name="address">{request.queryparam.postalcode}</QueryParam> <QueryParam name="region">{request.queryparam.country}</QueryParam> <QueryParam name="sensor">false</QueryParam> </QueryParams> </Set> </Request> <Response>GeocodingResponse</Response> <Timeout>30000</Timeout> <HTTPTargetConnection> <URL>http://maps.googleapis.com/maps/api/geocode/json</URL> </HTTPTargetConnection> </ServiceCallout>
http://maps.googleapis.com/maps/api/geocode/jsonঅ্যাসাইন মেসেজের মতো নীতি ব্যবহার করে অনুরোধ বস্তু তৈরি করার পরিবর্তে, আপনি এটি সরাসরি পরিষেবা কলআউট নীতিতে সংজ্ঞায়িত করতে পারেন। এই উদাহরণে, পরিষেবা কলআউট নীতি বহিরাগত পরিষেবাতে প্রেরিত তিনটি কোয়েরি প্যারামিটারের মান সেট করে। আপনি পরিষেবা কলআউট নীতিতে একটি সম্পূর্ণ অনুরোধ বার্তা তৈরি করতে পারেন যা একটি পেলোড, এনকোডিং প্রকার যেমন অ্যাপ্লিকেশন/xml , হেডার, ফর্ম প্যারামিটার ইত্যাদি নির্দিষ্ট করে।
এখানে আরেকটি উদাহরণ দেওয়া হল যেখানে সার্ভিস কলআউট নীতিতে পৌঁছানোর আগেই অনুরোধটি তৈরি করা হয়।
<ServiceCallout name="ServiceCallout-GeocodingRequest2"> <Request clearPayload="false" variable="GeocodingRequest"/> <Response>GeocodingResponse</Response> <Timeout>30000</Timeout> <HTTPTargetConnection> <URL>http://maps.googleapis.com/maps/api/geocode/json</URL> </HTTPTargetConnection> </ServiceCallout>
অনুরোধ বার্তার বিষয়বস্তু GeocodingRequest নামক একটি ভেরিয়েবল থেকে বের করা হয় (যা উদাহরণস্বরূপ, একটি AssignMessage নীতি দ্বারা পূরণ করা যেতে পারে)। প্রতিক্রিয়া বার্তাটি GeocodingResponse নামক ভেরিয়েবলে বরাদ্দ করা হয়, যেখানে এটি একটি Extract Variables নীতি দ্বারা অথবা JavaScript বা Java-তে লেখা কাস্টম কোড দ্বারা পার্স করার জন্য উপলব্ধ। সময় শেষ হওয়ার আগে নীতিটি Google Geocoding API থেকে প্রতিক্রিয়ার জন্য 30 সেকেন্ড অপেক্ষা করে।
এই উদাহরণ সার্ভিস কলআউট ব্যবহার করে এমন একটি সম্পূর্ণ নমুনা API প্রক্সির জন্য, অ্যাসাইন মেসেজ এবং এক্সট্র্যাক্ট ভেরিয়েবল নীতি সহ, নীতি রচনা ব্যবহার দেখুন।
টার্গেট সার্ভারগুলিতে কল করুন
<ServiceCallout async="false" continueOnError="false" enabled="true" name="service-callout"> <DisplayName>service-callout</DisplayName> <Properties/> <Request clearPayload="true" variable="myRequest"> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> </Request> <Response>myResponse</Response> <HTTPTargetConnection> <LoadBalancer> <Algorithm>RoundRobin</Algorithm> <Server name="httpbin"/> <Server name="yahoo"/> </LoadBalancer> <Path>/get</Path> </HTTPTargetConnection> </ServiceCallout>
এই নীতিটি LoadBalancer অ্যাট্রিবিউট ব্যবহার করে টার্গেট সার্ভারগুলিকে কল করে এবং তাদের মধ্যে লোড ব্যালেন্সিং করে। এই উদাহরণে, "httpbin" এবং "yahoo" নামক দুটি টার্গেট সার্ভারে লোড বিতরণ করা হয়েছে। আপনার প্রক্সির জন্য টার্গেট সার্ভার সেট আপ করা এবং লোড ব্যালেন্সিং কনফিগার করার বিষয়ে তথ্যের জন্য, ব্যাকএন্ড সার্ভারগুলিতে লোড ব্যালেন্সিং দেখুন।
পরিষেবা কলআউট নীতি সম্পর্কে
আপনার API প্রক্সিতে পরিষেবা কলআউট নীতি ব্যবহার করার অনেকগুলি পরিস্থিতি রয়েছে। উদাহরণস্বরূপ, আপনি ভূ-অবস্থান ডেটা, গ্রাহক পর্যালোচনা, অংশীদারের খুচরা ক্যাটালগ থেকে আইটেম সরবরাহ করার জন্য একটি বহিরাগত পরিষেবাতে কল করার জন্য একটি API প্রক্সি কনফিগার করতে পারেন।
একটি কলআউট সাধারণত দুটি অন্যান্য নীতির সাথে ব্যবহৃত হয়: বার্তা বরাদ্দ করুন এবং ভেরিয়েবল নির্যাস করুন।
- অনুরোধ : অ্যাসাইন মেসেজ রিমোট সার্ভিসে পাঠানো অনুরোধ বার্তাটি পূরণ করে।
প্রতিক্রিয়া : এক্সট্র্যাক্ট ভেরিয়েবল প্রতিক্রিয়া বিশ্লেষণ করে এবং নির্দিষ্ট বিষয়বস্তু বের করে।
সাধারণ পরিষেবা কলআউট নীতি রচনার মধ্যে রয়েছে:
- অ্যাসাইন মেসেজ নীতি : একটি অনুরোধ বার্তা তৈরি করে, HTTP হেডার, কোয়েরি প্যারামিটার পূরণ করে, HTTP ক্রিয়া সেট করে, ইত্যাদি।
- পরিষেবা কলআউট নীতি: অ্যাসাইন বার্তা নীতি দ্বারা তৈরি একটি বার্তা উল্লেখ করে, বহিরাগত কলের জন্য একটি লক্ষ্য URL সংজ্ঞায়িত করে এবং লক্ষ্য পরিষেবাটি যে প্রতিক্রিয়া বস্তুটি ফেরত দেয় তার জন্য একটি নাম সংজ্ঞায়িত করে।
উন্নত কর্মক্ষমতা অর্জনের জন্য, আপনি Apigee কমিউনিটি থ্রেডে বর্ণিত পরিষেবা কলআউট প্রতিক্রিয়াগুলি ক্যাশেও রাখতে পারেন: আমি কীভাবে পরিষেবা কলআউট নীতির ফলাফলগুলি ক্যাশে সংরক্ষণ করতে পারি এবং পরে ক্যাশে থেকে পুনরুদ্ধার করতে পারি? । - এক্সট্র্যাক্ট ভেরিয়েবল নীতি : সাধারণত একটি JSONPath বা XPath এক্সপ্রেশন সংজ্ঞায়িত করে যা পরিষেবা কলআউট দ্বারা তৈরি বার্তাটি পার্স করে। নীতিটি তারপরে পরিষেবা কলআউট প্রতিক্রিয়া থেকে পার্স করা মান ধারণকারী ভেরিয়েবল সেট করে।
অ্যাসাইন মেসেজ এবং এক্সট্র্যাক্ট ভেরিয়েবল নীতির সাথে সার্ভিস কলআউট নীতি ব্যবহার করে এমন একটি সম্পূর্ণ নমুনা API প্রক্সির জন্য নীতি রচনা ব্যবহার দেখুন।
কাস্টম ত্রুটি পরিচালনা
উপাদানের রেফারেন্স
এই নীতিতে আপনি যে উপাদান এবং বৈশিষ্ট্যগুলি কনফিগার করতে পারেন তা নিম্নরূপ:
<ServiceCallout async="false" continueOnError="false" enabled="true" name="Service-Callout-1"> <DisplayName>Custom label used in UI</DisplayName> <Request clearPayload="true" variable="myRequest"> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Remove> <ReasonPhrase/> <StatusCode/> <Path/> <Version/> <Verb/> </Remove> <Copy> <ReasonPhrase/> <StatusCode/> <Path/> <Version/> <Verb/> </Copy> <Add> <Headers/> <QueryParams/> <FormParams/> </Add> <Set> <Headers/> <QueryParams/> <FormParams/> <Payload/> <ReasonPhrase/> <StatusCode/> <Path/> <Version/> <Verb/> </Set> </Request> <Response>calloutResponse</Response> <Timeout>30000</Timeout> <HTTPTargetConnection> <URL>http://example.com</URL> <LoadBalancer/> <SSLInfo/> <Properties/> </HTTPTargetConnection> <LocalTargetConnection> <APIProxy/> <ProxyEndpoint/> <Path/> </LocalTargetConnection> </ServiceCallout>
<সেবা কলআউট> বৈশিষ্ট্যাবলী
<ServiceCallout async="false" continueOnError="false" enabled="true" name="Service-Callout-1">
নিম্নলিখিত সারণী সমস্ত নীতির মূল উপাদানগুলির জন্য সাধারণ বৈশিষ্ট্যগুলি বর্ণনা করে:
| বৈশিষ্ট্য | বর্ণনা | ডিফল্ট | উপস্থিতি |
|---|---|---|---|
name | নীতির অভ্যন্তরীণ নাম। ঐচ্ছিকভাবে, ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে | N/A | প্রয়োজন |
continueOnError | একটি নীতি ব্যর্থ হলে একটি ত্রুটি ফেরত দিতে একটি নীতি ব্যর্থ হওয়ার পরেও ফ্লো এক্সিকিউশন চালিয়ে যেতে | মিথ্যা | ঐচ্ছিক |
enabled | নীতি প্রয়োগ করতে নীতি বন্ধ করতে | সত্য | ঐচ্ছিক |
async | এই বৈশিষ্ট্যটি অবমূল্যায়ন করা হয়েছে৷ | মিথ্যা | অবচয় |
<DisplayName> উপাদান
ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে name বৈশিষ্ট্য ছাড়াও ব্যবহার করুন।
<DisplayName>Policy Display Name</DisplayName>
| ডিফল্ট | N/A আপনি এই উপাদানটি বাদ দিলে, নীতির |
|---|---|
| উপস্থিতি | ঐচ্ছিক |
| টাইপ | স্ট্রিং |
<Request> উপাদান
API প্রক্সি থেকে অন্য পরিষেবাতে পাঠানো অনুরোধ বার্তা ধারণকারী ভেরিয়েবলটি নির্দিষ্ট করে। ভেরিয়েবলটি ফ্লোতে পূর্ববর্তী নীতি দ্বারা তৈরি করা যেতে পারে, অথবা আপনি এটি পরিষেবা কলআউট নীতিতে ইনলাইন তৈরি করতে পারেন।
<Request clearPayload="true" variable="myRequest"> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Remove> <ReasonPhrase/> <StatusCode/> <Path/> <Version/> <Verb/> </Remove> <Copy> <ReasonPhrase/> <StatusCode/> <Path/> <Version/> <Verb/> </Copy> <Add> <Headers/> <QueryParams/> <FormParams/> </Add> <Set> <Headers/> <QueryParams/> <FormParams/> <Payload/> <ReasonPhrase/> <StatusCode/> <Path/> <Version/> <Verb/> </Set> </Request>
<Remove> , <Copy> , <Add> , এবং <Set> ট্যাগের সিনট্যাক্স Assign Message নীতির মতোই।
যদি অনুরোধ বার্তাটি সমাধান করা না যায় অথবা অবৈধ অনুরোধ বার্তা ধরণের হয়, তাহলে নীতিটি একটি ত্রুটি ফেরত দেয়।
সবচেয়ে সহজ উদাহরণে, আপনি একটি ভেরিয়েবল পাস করেন যার মধ্যে অনুরোধ বার্তাটি রয়েছে যা API প্রক্সির প্রবাহে পূর্বে পূরণ করা হয়েছিল:
<Request clearPayload="true" variable="myRequest"/>
অথবা আপনি পরিষেবা কলআউট নীতিতে বহিরাগত পরিষেবাতে প্রেরিত অনুরোধ বার্তাটি পূরণ করতে পারেন:
<Request> <Set> <Headers> <Header name="Accept">application/json</Header> </Headers> <Verb>POST</Verb> <Payload contentType="application/json">{"message":"my test message"}</Payload> </Set> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> </Request>
| ডিফল্ট | যদি আপনি Request উপাদান, অথবা এর যেকোনো বৈশিষ্ট্য বাদ দেন, তাহলে Edge নিম্নলিখিত ডিফল্ট মানগুলি নির্ধারণ করে: <রিকোয়েস্ট ক্লিয়ারপেলোড="ট্রু" ভেরিয়েবল="সার্ভিসকলআউট.রিকোয়েস্ট"/> আসুন দেখি এই ডিফল্ট মানগুলির অর্থ কী। প্রথমত, ডেটা মাস্কিং ব্যবহার করলে এই ডিফল্ট নামটি সম্পর্কে জানা গুরুত্বপূর্ণ -- যদি আপনি ভেরিয়েবল নামটি বাদ দেন, তাহলে আপনার মাস্ক কনফিগারেশনে |
| উপস্থিতি | ঐচ্ছিক। |
| আদর্শ | নিষিদ্ধ |
গুণাবলী
| বৈশিষ্ট্য | বিবরণ | ডিফল্ট | উপস্থিতি |
|---|---|---|---|
| পরিবর্তনশীল | অনুরোধ বার্তা ধারণকারী ভেরিয়েবলের নাম। | servicecallout.request | ঐচ্ছিক |
| ক্লিয়ারপেলোড | যদি সার্ভিস কলআউট কার্যকর হওয়ার পরে যদি অনুরোধ বার্তাটি প্রয়োজন হয় তবেই clearPayload বিকল্পটি false এ সেট করুন। | সত্য | ঐচ্ছিক |
<Request>/<IgnoreUnresolvedVariables> উপাদান
যখন true তে সেট করা হয়, তখন নীতিটি অনুরোধে যেকোনো অমীমাংসিত পরিবর্তনশীল ত্রুটি উপেক্ষা করে।
<Request clearPayload="true" variable="myRequest"> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> </Request>
| ডিফল্ট | মিথ্যা |
| উপস্থিতি | ঐচ্ছিক |
| আদর্শ | বুলিয়ান |
<প্রতিক্রিয়া> উপাদান
যখন API প্রক্সি লজিক আরও প্রক্রিয়াকরণের জন্য রিমোট কল থেকে প্রতিক্রিয়ার প্রয়োজন হয় তখন এই উপাদানটি অন্তর্ভুক্ত করুন।
যখন এই উপাদানটি উপস্থিত থাকে, তখন এটি সেই ভেরিয়েবলের নাম নির্দিষ্ট করে যা বহিরাগত পরিষেবা থেকে প্রাপ্ত প্রতিক্রিয়া বার্তা ধারণ করবে। লক্ষ্য থেকে প্রতিক্রিয়া কেবল তখনই ভেরিয়েবলের জন্য নির্ধারিত হয় যখন নীতি দ্বারা সম্পূর্ণ প্রতিক্রিয়া সফলভাবে পড়া হয়। যদি কোনও কারণে দূরবর্তী কল ব্যর্থ হয়, তবে নীতি একটি ত্রুটি ফেরত দেয়।
যদি এই উপাদানটি বাদ দেওয়া হয়, তাহলে API প্রক্সি কোনও প্রতিক্রিয়ার জন্য অপেক্ষা করে না; API প্রক্সি ফ্লো এক্সিকিউশন পরবর্তী যেকোনো প্রবাহ ধাপের সাথে চলতে থাকে। এছাড়াও, স্পষ্টতই, কোনও Response উপাদান না থাকলে, লক্ষ্য থেকে প্রতিক্রিয়া পরবর্তী ধাপগুলি দ্বারা প্রক্রিয়াকরণের জন্য উপলব্ধ থাকে না এবং প্রক্সি প্রবাহের জন্য দূরবর্তী কলে ব্যর্থতা সনাক্ত করার কোনও উপায় নেই। ServiceCallout ব্যবহার করার সময় Response উপাদান বাদ দেওয়ার একটি সাধারণ ব্যবহার: একটি বহিরাগত সিস্টেমে বার্তা লগ করা।
<Response>calloutResponse</Response>
| ডিফল্ট | এন.এ. |
| উপস্থিতি | ঐচ্ছিক |
| আদর্শ | স্ট্রিং |
<টাইমআউট> উপাদান
সার্ভিস কলআউট নীতিটি লক্ষ্য থেকে প্রতিক্রিয়ার জন্য মিলিসেকেন্ডে কত সময় অপেক্ষা করবে। রানটাইমে আপনি এই মানটি গতিশীলভাবে সেট করতে পারবেন না। যদি সার্ভিস কলআউট একটি সময়সীমা অতিক্রম করে, তাহলে একটি HTTP 500 ফেরত পাঠানো হয়, নীতিটি ব্যর্থ হয় এবং API প্রক্সি একটি ত্রুটি অবস্থায় চলে যায়, যেমনটি হ্যান্ডলিং ফল্টস এ বর্ণিত হয়েছে।
<Timeout>30000</Timeout>
| ডিফল্ট | ৫৫০০০ মিলিসেকেন্ড (৫৫ সেকেন্ড), অ্যাপিজি এজের জন্য ডিফল্ট HTTP টাইমআউট সেটিং |
| উপস্থিতি | ঐচ্ছিক |
| আদর্শ | পূর্ণসংখ্যা |
<HTTPTargetConnection> উপাদান
URL, TLS/SSL, এবং HTTP বৈশিষ্ট্যের মতো পরিবহন বিবরণ প্রদান করে। <TargetEndpoint> কনফিগারেশন রেফারেন্স দেখুন।
<HTTPTargetConnection>
<URL>http://example.com</URL>
<LoadBalancer/>
<SSLInfo/>
<Properties/>
</HTTPTargetConnection>| ডিফল্ট | নিষিদ্ধ |
| উপস্থিতি | প্রয়োজনীয় |
| আদর্শ | নিষিদ্ধ |
<HTTPTargetConnection>/<URL> উপাদান
যে পরিষেবাটি কল করা হচ্ছে তার URL:
<HTTPTargetConnection>
<URL>http://example.com</URL>
</HTTPTargetConnection>আপনি একটি ভেরিয়েবলের সাথে URL এর কিছু অংশ গতিশীলভাবে সরবরাহ করতে পারেন। তবে, URL এর প্রোটোকল অংশ, নীচে http:// , একটি ভেরিয়েবল দ্বারা নির্দিষ্ট করা যাবে না। পরবর্তী উদাহরণে, আপনি একটি কোয়েরি প্যারামিটারের মান নির্দিষ্ট করতে একটি ভেরিয়েবল ব্যবহার করবেন:
<URL>http://example.com/forecastrss?w=${request.header.woeid}</URL>
অথবা, একটি ভেরিয়েবল দিয়ে URL পাথের একটি অংশ সেট করুন:
<URL>http://example.com/{request.resourcePath}?w=${request.header.woeid}</URL>যদি আপনি URL এর ডোমেন এবং পোর্ট নির্দিষ্ট করার জন্য একটি ভেরিয়েবল ব্যবহার করতে চান, তাহলে শুধুমাত্র ডোমেন এবং পোর্টের জন্য একটি ভেরিয়েবল এবং URL এর অন্য যেকোনো অংশের জন্য দ্বিতীয় ভেরিয়েবল ব্যবহার করুন:
<URL>http://{request.dom_port}/{request.resourcePath}</URL>| ডিফল্ট | নিষিদ্ধ |
| উপস্থিতি | প্রয়োজনীয় |
| আদর্শ | স্ট্রিং |
<HTTPTargetConnection>/<SSLInfo> উপাদান
ব্যাকএন্ড পরিষেবাতে TLS/SSL কনফিগারেশন। TLS/SSL কনফিগারেশন সম্পর্কে সাহায্যের জন্য, API প্রক্সি কনফিগারেশন রেফারেন্সে Edge থেকে ব্যাকএন্ডে TLS কনফিগার করা (ক্লাউড এবং প্রাইভেট ক্লাউড) এবং "TLS/SSL টার্গেটএন্ডপয়েন্ট কনফিগারেশন" দেখুন।