AccessEntity की नीति

आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं.
जानकारी

क्या

Apigee Edge के डेटा स्टोर से, आपकी तय की गई इकाई की प्रोफ़ाइलें वापस लाता है. यह नीति, प्रोफ़ाइल को एक ऐसे वैरिएबल में रखती है जिसका नाम AccessEntity.{policy_name} फ़ॉर्मैट में होता है. AccessEntity का इस्तेमाल करके, इन इकाइयों की प्रोफ़ाइलें ऐक्सेस की जा सकती हैं:

  • ऐप्लिकेशन
  • एपीआई प्रॉडक्ट
  • कंपनी
  • कंपनी डेवलपर
  • ग्राहक कुँजी
  • डेवलपर

AccessEntity नीति, नीति पर आधारित रनटाइम डेटाबेस लुकअप के तौर पर काम करती है. इस नीति से मिली प्रोफ़ाइल की जानकारी का इस्तेमाल, डाइनैमिक व्यवहार को चालू करने के लिए किया जा सकता है. जैसे, शर्त के हिसाब से एंडपॉइंट राउटिंग, फ़्लो एक्ज़ीक्यूशन, और नीति लागू करना.

आपने AccessEntity नीति का इस्तेमाल करके, इकाई की प्रोफ़ाइल का डेटा एक्सएमएल के तौर पर हासिल किया है और उसे वैरिएबल में रखा है. आपको जिस इकाई की जानकारी चाहिए उसके लिए, इकाई का टाइप और एक या उससे ज़्यादा आइडेंटिफ़ायर तय करें. इससे यह तय किया जा सकेगा कि आपको उस टाइप की कौनसी इकाई की जानकारी चाहिए. बाद में, किसी दूसरी नीति में, इकाई की प्रोफ़ाइल का डेटा किसी दूसरी नीति की मदद से वापस पाया जा सकता है. जैसे, ExtractVariables नीति या AssignMessage नीति.

सैंपल

यहां दिए गए उदाहरणों में, डेवलपर का ईमेल पता निकालने और उसे एचटीटीपी हेडर में जोड़ने के लिए, ExtractVariables और AssignMessage नीतियों के साथ AccessEntity का इस्तेमाल दिखाया गया है.

अन्य नीतियों में इस्तेमाल करने के लिए डेवलपर का ईमेल पता पाना

AccessEntity नीति सेट अप करें, ताकि यह तय किया जा सके कि Edge से किस इकाई की प्रोफ़ाइल लेनी है. साथ ही, प्रोफ़ाइल का डेटा कहां रखना है.

इस उदाहरण में, नीति को developer इकाई प्रोफ़ाइल मिलती है. इसमें डेवलपर की पहचान करने के लिए, क्वेरी पैरामीटर के तौर पर पास की गई एपीआई कुंजी का इस्तेमाल किया जाता है. प्रोफ़ाइल को ऐसे वैरिएबल में रखा जाता है जिसका नाम 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 वर्णों से ज़्यादा होने चाहिए.

इसके अलावा, नीति को लेबल करने के लिए, <DisplayName> एलिमेंट का इस्तेमाल करें प्रबंधन यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर को अलग, आम भाषा में इस्तेमाल करने वाले नाम के साथ किया जा सकता है.

लागू नहीं ज़रूरी है
continueOnError

किसी नीति के काम न करने पर, गड़बड़ी दिखाने के लिए false पर सेट करें. यह उम्मीद है व्यवहार की जानकारी देने वाला डेटा.

नीति के लागू होने के बाद भी फ़्लो को एक्ज़ीक्यूट करने के लिए, इसे true पर सेट करें विफल होता है.

गलत वैकल्पिक
enabled

नीति को लागू करने के लिए, true पर सेट करें.

नीति को बंद करने के लिए, false पर सेट करें. नीति लागू किया जाता है, भले ही वह किसी फ़्लो से जुड़ा रहता हो.

सही वैकल्पिक
async

यह एट्रिब्यूट अब काम नहीं करता.

गलत बहिष्कृत

&lt;DisplayName&gt; एलिमेंट

इस कॉलम में नीति को लेबल करने के लिए, name एट्रिब्यूट के साथ-साथ इस्तेमाल करें मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर, जिसका नाम अलग और सामान्य भाषा में है.

<DisplayName>Policy Display Name</DisplayName>
डिफ़ॉल्ट

लागू नहीं

अगर आप इस एलिमेंट को छोड़ देते हैं, तो नीति की name एट्रिब्यूट की वैल्यू यह होगी इस्तेमाल किया गया.

मौजूदगी वैकल्पिक
टाइप स्ट्रिंग

<EntityIdentifier> एलिमेंट

EntityType में दी गई जानकारी के हिसाब से, यह पैरामीटर किसी खास इकाई के बारे में बताता है.

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

डिफ़ॉल्ट

लागू नहीं

उपलब्धता

ज़रूरी है

समस्या

स्ट्रिंग

विशेषताएं

एट्रिब्यूट ब्यौरा डिफ़ॉल्ट मौजूदगी टाइप
ref

यह वैरिएबल, आइडेंटिफ़ायर का सोर्स दिखाता है. जैसे, request.queryparam.apikey.

लागू नहीं ज़रूरी है. स्ट्रिंग
टाइप रेफ़ एट्रिब्यूट में मौजूद वैरिएबल से भरी गई वैल्यू का टाइप. जैसे, 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.

लागू नहीं ज़रूरी है. स्ट्रिंग
टाइप रेफ़ एट्रिब्यूट में मौजूद वैरिएबल से भरी गई वैल्यू का टाइप. जैसे, 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>

किसी ऐप्लिकेशन को कई एपीआई प्रॉडक्ट से जोड़ा जा सकता है. इसलिए, सिर्फ़ ऐप्लिकेशन आईडी का इस्तेमाल करने पर, आपको वह एपीआई प्रॉडक्ट नहीं मिल सकता जो आपको चाहिए. ऐसा हो सकता है कि आपको सिर्फ़ पहले मैच किए गए कई प्रॉडक्ट मिलें.

हालांकि, ज़्यादा सटीक नतीजे पाने के लिए, 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

इकाई की प्रोफ़ाइल के एक्सएमएल का उदाहरण

XPath की मदद से, अपनी पसंद की इकाई प्रोफ़ाइल वैल्यू को वापस पाने के लिए, आपको प्रोफ़ाइल के एक्सएमएल स्ट्रक्चर के बारे में कुछ जानने की ज़रूरत होगी. स्ट्रक्चर का उदाहरण देखने के लिए, मैनेजमेंट एपीआई कॉल का इस्तेमाल करके, अपनी पसंद की इकाई के लिए एक्सएमएल पाएं. ज़्यादा जानकारी के लिए, Management API के बारे में जानकारी देखें.

नीचे दिए गए सेक्शन में, एपीआई कॉल के लिए कोड दिया गया है. साथ ही, कॉल से मिले एक्सएमएल का उदाहरण भी दिया गया है.

ऐप्लिकेशन

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

Edge Management 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 Management 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>

एपीआई प्रॉडक्ट

$ 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 के एपीआई का संदर्भ में, Get API Product भी देखें.

XPath का सैंपल, weather_free नाम के एपीआई प्रॉडक्ट से दूसरा एपीआई संसाधन (यूआरआई) वापस लाता है:

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

एक्सएमएल के तौर पर दिखाई गई प्रोफ़ाइल का सैंपल:

<?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 Management 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 Management API के रेफ़रंस में, डेवलपर ऐप्लिकेशन के लिए कुंजी की जानकारी पाएं भी देखें.

एक्सपाथ का सैंपल:

/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 Management API के एपीआई का संदर्भ में, Get Developer भी देखें.

एक्सपाथ का सैंपल:

/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 नीति लागू की जाती है, तो एक्सएमएल फ़ॉर्मैट वाली प्रोफ़ाइल को AccessEntity.GetDeveloper नाम वाले वैरिएबल में सेव किया जाता है. इसके बाद, एक्सएमएल फ़ॉर्मैट वाली प्रोफ़ाइल को पार्स किया जा सकता है. इसके लिए, ExtractVariables नीति में तय किए गए XPath का इस्तेमाल किया जाता है. इसमें AccessEntity.GetDeveloper को सोर्स के तौर पर तय किया जाता है.

गड़बड़ी की जानकारी

इसी विषय से जुड़ी जानकारी के लिए, नीति से जुड़ी गड़बड़ियों के बारे में आपके लिए ज़रूरी जानकारी और गड़बड़ियों को ठीक करने के तरीके देखें.

रनटाइम से जुड़ी गड़बड़ियां

कोई नहीं.

डिप्लॉयमेंट से जुड़ी गड़बड़ियां

गड़बड़ी का नाम गड़बड़ी वाली स्ट्रिंग एचटीटीपी कोड स्थिति कब होता है
InvalidEntityType Invalid type [entity_type] in ACCESSENTITYStepDefinition [policy_name] लागू नहीं इस्तेमाल की गई इकाई का टाइप, इस्तेमाल किए जा सकने वाले टाइप में से एक होना चाहिए.

मिलते-जुलते विषय