AccessEntity নীতি

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

কী

আপনি Apigee Edge ডেটা স্টোর থেকে যেসব এন্টিটি প্রোফাইল নির্দিষ্ট করেছেন সেগুলি রিট্রিভ করে। নীতিটি প্রোফাইলকে এমন একটি ভেরিয়েবলে রাখে যার নাম AccessEntity.{policy_name} ফর্ম্যাট মেনে চলে। আপনি নিম্নলিখিত এন্টিটির প্রোফাইল অ্যাক্সেস করতে AccessEntity ব্যবহার করতে পারবেন:

  • অ্যাপ
  • API প্রোডাক্ট
  • কোম্পানি
  • কোম্পানির ডেভেলপার
  • কনজিউমার কী
  • ডেভেলপার

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

আপনি AccessEntity নীতি ব্যবহার করে XML হিসেবে এন্টিটি প্রোফাইল ডেটা পান এবং তা একটি ভেরিয়েবলে রাখেন। আপনি এন্টিটি টাইপ ও এক বা একাধিক শনাক্তকারী নির্দিষ্ট করে এন্টিটি শনাক্ত করেন। এর মাধ্যমে আপনি সেই টাইপের কোন এন্টিটি চান তা নির্দিষ্ট করা হয়। পরে, অন্য নীতিতে, আপনি অন্য নীতি ব্যবহার করে এন্টিটি প্রোফাইল ডেটা রিট্রিভ করতে পারবেন, যেমন ExtractVariables নীতি বা AssignMessage নীতি।

নমুনা

নিচের নমুনাগুলি থেকে দেখা যায় যে কীভাবে কোনও ডেভেলপারের ইমেল আইডি এক্সট্র্যাক্ট করে HTTP হেডারে যোগ করার জন্য ExtractVariables ও AssignMessage নীতির সাথে AccessEntity ব্যবহার করা হয়।

অন্যান্য নীতিতে ব্যবহারের জন্য ডেভেলপার ইমেল আইডি পাওয়া

Edge থেকে কোন এন্টিটি প্রোফাইল পেতে হবে এবং প্রোফাইল ডেটা কোথায় রাখতে হবে তা নির্দিষ্ট করতে AccessEntity নীতি সেট-আপ করুন।

নিচের উদাহরণে, নীতিটি একটি developer এন্টিটি প্রোফাইল পায়, যা API কী ব্যবহার করে যা ডেভেলপারকে শনাক্ত করার জন্য কোয়েরি প্যারামিটার হিসেবে পাস করা হয়। প্রোফাইলটি এমন একটি ভেরিয়েবলে রাখা হয় যার নাম AccessEntity.{policy_name} ফর্ম মেনে চলে। তাই, এই নীতি দ্বারা সেট করা ভেরিয়েবলটি হবে AccessEntity.GetDeveloperProfile।

<AccessEntity name="GetDeveloperProfile">
  <!-- This is the type entity whose profile we need to pull from the Edge datastore. -->
  <EntityType  value="developer"/>
  <!-- We tell the policy to use the API key (presented as query parameter) to identify the developer. -->
  <EntityIdentifier ref="request.queryparam.apikey" type="consumerkey"/> 
</AccessEntity>

AccessEntity-এর সেট করা ভেরিয়েবল থেকে এন্টিটি প্রোফাইলের ভ্যালু রিট্রিভ করতে অন্য নীতি ব্যবহার করুন।

নিচের উদাহরণে, একটি ExtractVariables নীতি AccessEntity.GetDeveloperProfile ভেরিয়েবেল থেকে একটি ভ্যালু নেয় যা আগে AccessEntity সেট করেছে।

মনে রাখবেন, যে ভ্যালু পাওয়া গেছে সেটি XMLPayload এলিমেন্টে XPath এক্সপ্রেশন হিসেবে নির্দিষ্ট করা আছে। এক্সট্র্যাক্ট করা ভ্যালু একটি developer.email ভেরিয়েবেলে রাখা হয়।

<ExtractVariables name="SetDeveloperProfile">
  <!-- The source element points to the variable populated by AccessEntity policy. 
  The format is <policy-type>.<policy-name>.
  In this case, the variable contains the whole developer profile. -->
  <Source>AccessEntity.GetDeveloperProfile</Source> 
  <VariablePrefix>developer</VariablePrefix>
  <XMLPayload>
    <Variable name="email" type="string"> 
        <!-- You parse elements from the developer profile using XPath. -->
      <XPath>/Developer/Email</XPath>
    </Variable>
  </XMLPayload>
</ExtractVariables>

নিম্নলিখিত AssignMessage নীতি, ExtractVariables নীতি দ্বারা সেট করা ডেভেলপার ইমেল আইডি নেয়।

<!-- We'll use this policy to return the variables set in the developer profile, 
just so that we can easily see them in the response. -->
<AssignMessage name="EchoVariables">
  <AssignTo createNew="false" type="response"></AssignTo>
  <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
  <Set>
    <Headers>
      <Header name="X-Developer-email">{developer.email}</Header>
    </Headers>
  </Set>
</AssignMessage>

এলিমেন্ট রেফারেন্স

AccessEntity নীতির প্রাথমিক কাঠামো হল:

<AccessEntity name="policy_name">
  <EntityType  value="entity_type"/>
  <EntityIdentifier ref="entity_identifier" type="identifier_type"/> 
  <SecondaryIdentifier ref="secondary_identifier" type="identifier_type"/>
</AccessEntity>

আপনি একই ধরনের একাধিক এন্টিটি Identifiers এলিমেন্টে গ্রুপ করে অ্যাক্সেস করতে পারবেন:

<AccessEntity name="name_of_the_policy">
  <EntityType  value="type_of_entity"/>
  <Identifiers>
    <Identifier>
      <EntityIdentifier ref="reference_to_entity_identifier" type*="identifier_type"/> 
      <SecondaryIdentifier ref="reference_to_secondary_entity_identifier" type="identifier_type"/><!-- optional -->
    </Identifier >
    <Identifier>
      <EntityIdentifier ref="reference_to_entity_identifier" type*="identifier_type"/> 
      <SecondaryIdentifier ref="reference_to_secondary_entity_identifier" type="identifier_type"/><!-- optional -->
    </Identifier >
  </Identifiers>
</AccessEntity>

<AccessEntity> অ্যাট্রিবিউট

<AccessEntity async="false" continueOnError="false" enabled="true" name="policy_name">

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

বৈশিষ্ট্য বর্ণনা ডিফল্ট উপস্থিতি
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 বৈশিষ্ট্যের মান ব্যবহার করা হবে।

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

<EntityIdentifier> এলিমেন্ট

EntityType-এ দেওয়া ধরন অনুযায়ী নির্দিষ্ট এন্টিটি পেতে হবে।

<EntityIdentifier ref="value_variable" type="identifier_type"/> 

ডিফল্ট

প্রযোজ্য নয়

উপস্থিতি

প্রয়োজনীয়

টাইপ করুন

স্ট্রিং

অ্যাট্রিবিউট

অ্যাট্রিবিউট বিবরণ ডিফল্ট উপস্থিতি ধরন
ref

যেসব ভেরিয়েবল শনাক্তকারীর সোর্স প্রদান করে, যেমন request.queryparam.apikey.

প্রযোজ্য নয় প্রয়োজনীয়। স্ট্রিং
ধরন ref অ্যাট্রিবিউটে ভেরিয়েবল দ্বারা পূরণ করা ধরন। যেমন consumerkey। ভ্যালুর তালিকার জন্য এন্টিটির ধরন ও শনাক্তকারী দেখুন। প্রয়োজনীয়। স্ট্রিং

উদাহরণ

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AccessEntity async="false" continueOnError="false" enabled="true" name="GetCompany">
    <DisplayName>GetCompanyProfile</DisplayName>
    <EntityType value="company"></EntityType>
    <EntityIdentifier ref="request.queryparam.apikey" type="consumerkey"/>
</AccessEntity>

<EntityType> এলিমেন্ট

ডেটা স্টোর থেকে যে ধরনের এন্টিটি রিট্রিভ করতে হবে তা নির্দিষ্ট করে।

<EntityType  value="entity_type"/>

ডিফল্ট

প্রযোজ্য নয়

উপস্থিতি

প্রয়োজনীয়

টাইপ করুন

স্ট্রিং

আপনি প্রদত্ত ধরনের কোন এন্টিটি চান তা নির্দিষ্ট করতে, একটি EntityIdentifier এলিমেন্ট ব্যবহার করুন। এন্টিটির ধরনের রেফারেন্সের জন্য, এন্টিটির ধরন ও শনাক্তকারী দেখুন।

অ্যাট্রিবিউট

অ্যাট্রিবিউট বিবরণ ডিফল্ট উপস্থিতি ধরন
মান কাজ করে এমন এন্টিটির ধরনগুলির মধ্যে একটি। তালিকার জন্য এনটিটির ধরন ও শনাক্তকারী দেখুন। কোনওটিই নয়। প্রয়োজনীয়। স্ট্রিং

<SecondaryIdentifier> এলিমেন্ট

EntityIdentifier-এর সাথে, প্রদত্ত EntityType-এর কাঙ্ক্ষিত ইনস্ট্যান্স শনাক্ত করার জন্য একটি মান নির্দিষ্ট করে।

<SecondaryIdentifier ref="value_variable" type="identifier_type"/>

ডিফল্ট

প্রযোজ্য নয়

উপস্থিতি

ঐচ্ছিক

টাইপ করুন

স্ট্রিং

শুধুমাত্র একটি EntityIdentifier নির্দিষ্ট করার সময় SecondaryIdentifier ব্যবহার করুন আপনাকে যে একটিই এন্টিটি দেওয়া হবে তার কোনও গ্যারান্টি নেই। আরও তথ্যের জন্য সেকেন্ডারি শনাক্তকারী ব্যবহার করে ফলাফল সীমিত করা দেখুন।

একাধিক SecondaryIdentifier এলিমেন্ট ব্যবহার করা যায় না।

অ্যাট্রিবিউট

অ্যাট্রিবিউট বিবরণ ডিফল্ট উপস্থিতি ধরন
ref

যেসব ভেরিয়েবল শনাক্তকারীর সোর্স প্রদান করে, যেমন request.queryparam.apikey.

প্রযোজ্য নয় প্রয়োজনীয়। স্ট্রিং
ধরন ref অ্যাট্রিবিউটে ভেরিয়েবল দ্বারা পূরণ করা ধরন। যেমন consumerkey। ভ্যালুর তালিকার জন্য এন্টিটির ধরন ও শনাক্তকারী দেখুন। প্রয়োজনীয়। স্ট্রিং

উদাহরণ

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AccessEntity async="false" continueOnError="false" enabled="true" name="GetAPIProduct">
    <DisplayName>GetAPIProduct</DisplayName>
    <EntityType value="apiproduct"></EntityType>
    <EntityIdentifier ref="developer.app.name" type="appname"/> 
    <SecondaryIdentifier ref="developer.id" type="developerid"/> 
</AccessEntity>

ব্যবহার সংক্রান্ত নোট

সেকেন্ডারি শনাক্তকারীর সাহায্যে ফলাফলকে আরও নির্দিষ্ট করা

কিছু এন্টিটির ক্ষেত্রে, একটি শনাক্তকারী প্রদান করা আপনার কাঙ্ক্ষিত এন্টিটি পাওয়ার জন্য যথেষ্ট নির্দিষ্ট নাও হতে পারে। সেইসব ক্ষেত্রে, ফলাফল আরও নির্দিষ্ট করতে আপনি সেকেন্ডারি শনাক্তকারী ব্যবহার করতে পারেন।

আপনার প্রথম, সম্ভবত বিস্তৃত নীতি কনফিগারেশনটি এইরকম হতে পারে:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AccessEntity async="false" continueOnError="false" enabled="true" name="GetApp">
    <DisplayName>GetAppProfile</DisplayName>
    <EntityType value="apiproduct"></EntityType>
    <EntityIdentifier ref="request.queryparam.apikey" type="consumerkey"/>
</AccessEntity>

যেহেতু একটি অ্যাপ একাধিক API প্রোডাক্টের সাথে যুক্ত থাকতে পারে, তাই শুধুমাত্র অ্যাপ আইডি ব্যবহার করলে আপনি যে API প্রোডাক্ট চান সেটি নাও পেতে পারেন (আপনি একাধিক মিলে যাওয়া প্রোডাক্টের মধ্যে প্রথমটি পেতে পারেন)।

পরিবর্তে, আরও সঠিক ফলাফল পেতে, আপনি SecondaryIdentifier ব্যবহার করতে পারেন। যেমন, ফ্লোতে আপনার appname ও developerid ভেরিয়েবল থাকতে পারে কারণ OAuth 2.0 এক্সচেঞ্জের সময় এগুলি ডিফল্ট হিসেবে পপুলেট করা হয়। অনুরোধকারী অ্যাপে প্রোফাইলের বিবরণ পেতে, আপনি AccessEntity নীতিতে সেইসব ভেরিয়েবলের মান ব্যবহার করতে পারেন।

আপনার আরও নির্দিষ্ট নীতি কনফিগারেশন এই ধরনের হতে পারে:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AccessEntity async="false" continueOnError="false" enabled="true" name="GetApp">
    <DisplayName>GetAppProfile</DisplayName>
    <EntityType value="apiproduct"></EntityType>
    <EntityIdentifier ref="developer.app.name" type="appname"/> 
    <SecondaryIdentifier ref="developer.id" type="developerid"/> 
</AccessEntity>

যেসব এন্টিটির ধরন ও শনাক্তকারী কাজ করে

AccessEntity নিম্নলিখিত এন্টিটির ধরন ও শনাক্তকারীকে সাপোর্ট করে।

EntityType ভ্যালু EntityIdentifier-এর ধরন SecondaryIdentifier-এর ধরন
apiproduct appid apiresource
apiproductname
appname apiresource
developeremail
developerid
companyname
consumerkey apiresource
app appid
appname developeremail
developerid
companyname
consumerkey
authorizationcode authorizationcode
company appid
company
consumerkey
companydeveloper companyname
consumerkey consumerkey
consumerkey_scope consumerkey
developer appid
consumerkey
developeremail
developerid
requesttoken requesttoken consumerkey
verifier verifier

এনটিটি প্রোফাইল XML-এর উদাহরণ

XPath-এর মাধ্যমে আপনার পছন্দের এন্টিটি প্রোফাইলের ভ্যালু রিট্রিভ করতে, আপনাকে প্রোফাইল XML-এর স্ট্রাকচার সম্পর্কে কিছু জানতে হবে। স্ট্রাকচারের উদাহরণ পেতে, আপনি যে এন্টিটি চান তার জন্য XML পেতে ম্যানেজমেন্ট API কল ব্যবহার করুন। আরও বিবরণের জন্য, ম্যানেজমেন্ট API রেফারেন্স দেখুন।

নিম্নলিখিত বিভাগে API কলের কোড এবং কলের XML উদাহরণ দেওয়া আছে।

অ্যাপ

$ curl -H "Accept:text/xml" -X GET \
https://api.enterprise.apigee.com/v1/o/{org_name}/apps/{app_id} \
-u email:password

এছাড়াও, Edge ম্যানেজমেন্ট API রেফারেন্সে অ্যাপ আইডি দ্বারা কোনও সংস্থার অ্যাপ পান দেখুন।

অথবা:

$ curl -H "Accept:text/xml" -X GET \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/{developer_email}/apps/{app_name} \
-u email:password

এছাড়াও, Edge ম্যানেজমেন্ট API রেফারেন্সে Get Developer App Details দেখুন।

নমুনা প্রোফাইল:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<App name="thomas-app">
    <AccessType>read</AccessType>
    <ApiProducts/>
    <Credentials>
        <Credential>
            <Attributes/>
            <ConsumerKey>wrqOOOiPArFI0WRoB1gAJMRbOguekJ5w</ConsumerKey>
            <ConsumerSecret>WvOhDrJ8m6kzz7Ni</ConsumerSecret>
            <ApiProducts>
                <ApiProduct>
                    <Name>FreeProduct</Name>
                    <Status>approved</Status>
                </ApiProduct>
            </ApiProducts>
            <Scopes/>
            <Status>approved</Status>
        </Credential>
    </Credentials>
    <AppFamily>default</AppFamily>
    <AppId>ab308c13-bc99-4c50-8434-0e0ed1b86075</AppId>
    <Attributes>
        <Attribute>
            <Name>DisplayName</Name>
            <Value>Tom's Weather App</Value>
        </Attribute>
    </Attributes>
    <CallbackUrl>http://tom.app/login</CallbackUrl>
    <CreatedAt>1362502872727</CreatedAt>
    <CreatedBy>admin@apigee.com</CreatedBy>
    <DeveloperId>PFK8IwOeAOW01JKA</DeveloperId>
    <LastModifiedAt>1362502872727</LastModifiedAt>
    <LastModifiedBy>admin@apigee.com</LastModifiedBy>
    <Scopes/>
    <Status>approved</Status>
</App>

API প্রোডাক্ট

$ curl  -H "Accept:text/xml" -X GET \
https://api.enterprise.apigee.com/v1/o/{org_name}/apiproducts/{apiproduct_name} \
-u email:password

এছাড়াও, Edge Management API রেফারেন্সে API পান প্রোডাক্ট দেখুন।

নমুনা XPath, weather_freeনামের API প্রোডাক্ট থেকে দ্বিতীয় API রিসোর্স (URI) পায়:

/ApiProduct['@name=weather_free']/ApiResources/ApiResource[1]/text()

XML হিসেবে ফেরত পাঠানো স্যাম্পেল প্রোফাইল:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ApiProduct name="weather_free">
    <ApiResources>
        <ApiResource>/forecastrss, /reports</ApiResource>
    </ApiResources>
    <ApprovalType>auto</ApprovalType>
    <Attributes>
        <Attribute>
            <Name>description</Name>
            <Value>Introductory API Product</Value>
        </Attribute>
        <Attribute>
            <Name>developer.quota.interval</Name>
            <Value>1</Value>
        </Attribute>
        <Attribute>
            <Name>developer.quota.limit</Name>
            <Value>1</Value>
        </Attribute>
        <Attribute>
            <Name>developer.quota.timeunit</Name>
            <Value>minute</Value>
        </Attribute>
        <Attribute>
            <Name>servicePlan</Name>
            <Value>Introductory</Value>
        </Attribute>
    </Attributes>
    <CreatedAt>1355847839224</CreatedAt>
    <CreatedBy>andrew@apigee.com</CreatedBy>
    <Description>Free API Product</Description>
    <DisplayName>Free API Product</DisplayName>
    <Environments/>
    <LastModifiedAt>1355847839224</LastModifiedAt>
    <LastModifiedBy>andrew@apigee.com</LastModifiedBy>
    <Proxies/>
    <Scopes/>
</ApiProduct>

কোম্পানি

$ curl   -H "Accept:text/xml" -X GET \
https://api.enterprise.apigee.com/v1/o/{org_name}/companies/{company_name} \
-u email:password

এছাড়াও, Edge ম্যানেজমেন্ট API রেফারেন্সে কোম্পানির বিবরণ পান দেখুন।

নমুনা প্রোফাইল:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Company name="theramin">
    <Apps/>
    <DisplayName>Theramin Corporation</DisplayName>
    <Organization>apigee-pm</Organization>
    <Status>active</Status>
    <Attributes>
        <Attribute>
            <Name>billing_code</Name>
            <Value>13648765</Value>
        </Attribute>
    </Attributes>
    <CreatedAt>1349208631291</CreatedAt>
    <CreatedBy>andrew@apigee.com</CreatedBy>
    <LastModifiedAt>1349208631291</LastModifiedAt>
    <LastModifiedBy>andrew@apigee.com</LastModifiedBy>
</Company>

কোম্পানির ডেভেলপার

$ curl -H "Accept:text/xml" -X GET \
https://api.enterprise.apigee.com/v1/o/{org_name}/companies/{company_name}/developers/{developer_name} \
-u email:password

নমুনা প্রোফাইল:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Developers>
    <Developer>
        <Email>ntesla@theramin.com</Email>
        <Role>developer</Role>
    </Developer>
</Developers>

কনজিউমার কী

$ curl -H "Accept:text/xml" -X GET \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/{developer_email}/apps/{app_name}/keys/{consumer_key} \
-u email:password

এছাড়াও, Edge ম্যানেজমেন্ট API রেফারেন্সে ডেভেলপার অ্যাপের জন্য কী সংক্রান্ত বিবরণ পান দেখুন।

XPath-এর নমুনা:

/Credential/ApiProducts/ApiProduct[Name='weather_free']/Status/text()

নমুনা প্রোফাইল:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Credential>
    <Attributes/>
    <ConsumerKey>XLotL3PRxNkUGXhGAFDPOr6fqtvAhuZe</ConsumerKey>
    <ConsumerSecret>iNUyEaOOh96KR3YL</ConsumerSecret>
    <ApiProducts>
        <ApiProduct>
            <Name>weather_free</Name>
            <Status>approved</Status>
        </ApiProduct>
    </ApiProducts>
    <Scopes/>
    <Status>approved</Status>
</Credential>

ডেভেলপার

$ curl -H "Accept:text/xml" -X GET \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/{developer_email} \
-u email:password

এছাড়াও, Edge ম্যানেজমেন্ট API রেফারেন্সে ডেভেলপার পান দেখুন।

XPath-এর নমুনা:

/Developer/Attributes/Attribute[Name='my_custom_attribute']/Value/text()
/Developer/Email/text()

নমুনা প্রোফাইল:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Developer>
    <Apps>
        <App>weatherappx</App>
        <App>weatherapp</App>
    </Apps>
    <Email>ntesla@theramin.com</Email>
    <DeveloperId>4Y4xd0KRZ1wmHJqu</DeveloperId>
    <FirstName>Nikola</FirstName>
    <LastName>Tesla</LastName>
    <UserName>theramin</UserName>
    <OrganizationName>apigee-pm</OrganizationName>
    <Status>active</Status>
    <Attributes>
        <Attribute>
            <Name>project_type</Name>
            <Value>public</Value>
        </Attribute>
    </Attributes>
    <CreatedAt>1349797040634</CreatedAt>
    <CreatedBy>rsaha@apigee.com</CreatedBy>
    <LastModifiedAt>1349797040634</LastModifiedAt>
    <LastModifiedBy>rsaha@apigee.com</LastModifiedBy>
</Developer>

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

AccessEntity নীতিতে উল্লেখ করা এন্টিটি প্রোফাইলটি রিট্রিভ করা হলে, XML-ফর্ম্যাট করা প্রোফাইল অবজেক্টটি মেসেজ কনটেক্সটে একটি ভেরিয়েবল হিসেবে যোগ করা হয়। ভেরিয়েবলের নাম উল্লেখ করে এটিকে অন্য যেকোনও ভেরিয়েবলের মতো অ্যাক্সেস করা যায়। AccessEntity নীতির ব্যবহারকারীর দেওয়া নাম পরিবর্তনযোগ্য নামের পরিবর্তনযোগ্য উপসর্গ হিসেবে সেট করা হয়।

যেমন, GetDeveloper নামের কোনও AccessEntity নীতি প্রয়োগ করা হলে, XML-ফর্ম্যাট করা প্রোফাইলটি AccessEntity.GetDeveloper নামের ভেরিয়েবলে স্টোর করা হয়। XML-ফর্ম্যাট করা প্রোফাইলটি ExtractVariables নীতিতে সংজ্ঞায়িত XPath ব্যবহার করে পার্স করা যেতে পারে, যা AccessEntity.GetDeveloper কে সোর্স হিসেবে নির্দিষ্ট করে।

সমস্যার রেফারেন্স

সম্পর্কিত তথ্যের জন্য, নীতি ত্রুটি এবং হ্যান্ডলিং ফল্ট সম্পর্কে আপনার কী জানা দরকার তা দেখুন৷

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

কোনোটিই নয়।

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

ত্রুটির নাম ফল্ট স্ট্রিং HTTP স্থিতি ঘটে যখন
InvalidEntityType Invalid type [entity_type] in ACCESSENTITYStepDefinition [policy_name] N/A ব্যবহৃত সত্তা টাইপ সমর্থিত প্রকারগুলির মধ্যে একটি হতে হবে৷

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