आंकड़े कलेक्टर की नीति के डिप्लॉयमेंट से जुड़ी गड़बड़ी ठीक करना

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

UnsupportedDatatype

गड़बड़ी का मैसेज

इस गड़बड़ी के मैसेज के साथ EDGE यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

Error Deploying Revision [revision_number]
StatisticsCollection [datatype]: Datatype Revision:[revision_number];APIProxy:[api_proxy];Organization:[org_name];Environment:[env_name] is unsupported . Context [context].

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 1
StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.

स्क्रीनशॉट का उदाहरण

वजह

अगर स्टैटिस्टिक्स कलेक्टर नीति के <Statistic> एलिमेंट में, ref एट्रिब्यूट के ज़रिए दिया गया वैरिएबल काम नहीं करता, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

string, integer, float, long, double, और boolean डेटा टाइप इस्तेमाल किए जा सकते हैं.

उदाहरण के लिए, अगर स्टैटिस्टिक्स कलेक्टर नीति के <Statistic> एलिमेंट में वैरिएबल का टाइप, char के तौर पर बताया गया है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

संक्रमण की जांच

  1. जिस एपीआई प्रॉक्सी में गड़बड़ी हुई है उसमें आंकड़ों कलेक्टर की नीति की पहचान करें.
  2. स्टैटिस्टिक्स कलेक्टर नीति में, इस्तेमाल न किए जा सकने वाले डेटा टाइप की पहचान करें. आपको यह जानकारी गड़बड़ी के मैसेज से मिल सकती है. उदाहरण के लिए, नीचे दी गई गड़बड़ी में char डेटा टाइप इस्तेमाल नहीं किया जा सकता:

    StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
    
  3. पुष्टि करें कि फ़ेलिक्स कलेक्टर नीति में इस्तेमाल किया गया 'टाइप' एट्रिब्यूट, गड़बड़ी के मैसेज (ऊपर दिया गया चरण #2) में पहचाने गए डेटा टाइप से मेल खाता है. उदाहरण के लिए, यहां दी गई नीति में डेटा टाइप को char के तौर पर दिखाया गया है, जो गड़बड़ी के मैसेज में मौजूद डेटा से मैच करता है:

    <StatisticsCollector async="false" continueOnError="false" enabled="true" name="Statistics-Collector-1">
      <DisplayName>Statistics Collector 1</DisplayName>
      <Statistics>
          <Statistic name="statName" ref="varName" type="char">defaultStatValue</Statistic>
      </Statistics>
    </StatisticsCollector>
    
  4. अगर 'टाइप' एट्रिब्यूट, किसी काम न करने वाले डेटा टाइप में नहीं है, तो गड़बड़ी की वजह यही है.

    ऊपर दिखाई गई 'आंकड़े कलेक्टर' नीति के उदाहरण में, याद रखें कि type एट्रिब्यूट को char के तौर पर सेट किया गया है. हालांकि, यह एट्रिब्यूट इस्तेमाल नहीं किया जा सकता. इसलिए, इस गड़बड़ी के साथ एपीआई प्रॉक्सी का डिप्लॉयमेंट काम नहीं करता:

    StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
    

रिज़ॉल्यूशन

पक्का करें कि सांख्यिकी कलेक्टर नीति के <Statistic> एलिमेंट में ref एट्रिब्यूट के ज़रिए बताए गए वैरिएबल का डेटा टाइप मान्य और काम करता हो. उदाहरण के लिए:

<StatisticsCollector async="false" continueOnError="false" enabled="true" name="Statistics-Collector-1">
    <DisplayName>Statistics Collector 1</DisplayName>
    <Statistics>
        <Statistic name="statName" ref="varName" type="string">defaultStatValue</Statistic>
    </Statistics>
</StatisticsCollector>

InvalidName

गड़बड़ी का मैसेज

इस गड़बड़ी के मैसेज के साथ EDGE यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

Error Deploying Revision [revision_number]
StatisticsCollection: Name: [name] conflicts with system defined variables. Context policy: [policy_name]

गड़बड़ी के मैसेज का उदाहरण

Error Saving Revision 1
StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.

स्क्रीनशॉट का उदाहरण

वजह

अगर स्टैटिस्टिक्स कलेक्टर नीति के <Statistic> एलिमेंट में तय किए गए वैरिएबल के लिए इकट्ठा किए गए डेटा का रेफ़रंस देने के लिए इस्तेमाल किया गया नाम, सिस्टम से तय किए गए वैरिएबल से मेल नहीं खाता, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

सिस्टम से तय किए गए कुछ वैरिएबल, organization और environment हैं.

उदाहरण के लिए, अगर स्टैटिस्टिक्स कलेक्टर नीति के <Statistic> एलिमेंट में नाम एट्रिब्यूट की वैल्यू organization के तौर पर दी गई है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

संक्रमण की जांच

  1. आंकड़ों की जानकारी इकट्ठा करने वाली उस नीति की पहचान करें जहां गड़बड़ी हुई थी. साथ ही, उस <Statistic> एलिमेंट के नाम की पहचान करें जो सिस्टम के तय किए गए वैरिएबल से मेल नहीं खाता. आपको ये दोनों आइटम, गड़बड़ी के मैसेज में मिल सकते हैं. उदाहरण के लिए, यहां दी गई गड़बड़ी में, नीति का नाम StatCollector है. साथ ही, सिस्टम से तय किए गए वैरिएबल से मेल न खाने वाले <Statistic> एलिमेंट का नाम organization है:

    StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
    
  2. पुष्टि करें कि फ़ेलिक्स कलेक्टर नीति के एक्सएमएल में इस्तेमाल किए गए <Statistic> एलिमेंट का नाम, गड़बड़ी के मैसेज (ऊपर #1) में बताए गए नाम से मेल खाता है. उदाहरण के लिए, इस नीति की मदद से <Statistic> एलिमेंट में नाम के बारे में organization बताया गया है. यह एलिमेंट गड़बड़ी के मैसेज में दिए गए नाम से मेल खाता है:

    <StatisticsCollector name="StatCollector">
      <Statistics>
          <Statistic name="organization" ref="organization" type="string">myorg</Statistic>
          <Statistic name="traffic" ref="traffic" type="string">999999</Statistic>
      </Statistics>
    </StatisticsCollector>
    
  3. हर <Statistic> एलिमेंट की परिभाषा देखें. अगर कोई <Statistic> एलिमेंट है जिसमें name एट्रिब्यूट, सिस्टम वैरिएबल से मेल नहीं खाता है, तो इसी वजह से गड़बड़ी हो रही है.

ऊपर दिखाई गई स्टैटिस्टिक्स कलेक्टर नीति के उदाहरण में, याद रखें कि इस्तेमाल किया गया <Statistic> का नाम एट्रिब्यूट organization है. यह सिस्टम वैरिएबल का नाम होता है. इसलिए, इस गड़बड़ी की वजह से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.

रिज़ॉल्यूशन

पक्का करें कि स्टैटिस्टिक्स कलेक्टर नीति में, <Statistic> एलिमेंट में तय किए गए वैरिएबल के लिए इकट्ठा किए गए डेटा को रेफ़र करने के लिए इस्तेमाल किए गए <Statistic> एलिमेंट का नाम, सिस्टम के तय किए गए वैरिएबल जैसा न हो. उदाहरण के लिए:

<StatisticsCollector name="StatCollector">
    <Statistics>
        <Statistic name="org" ref="org" type="string">myorg</Statistic>
        <Statistic name="traffic" ref="traffic" type="string">999999</Statistic>
    </Statistics>
</StatisticsCollector>

DatatypeMissing

गड़बड़ी का मैसेज

इस गड़बड़ी के मैसेज के साथ EDGE यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

Error Deploying Revision [revision_number]
StatisticsCollection [ref]: Datatype of Revision:[revision_number];APIProxy:[api_proxy];Organization:[org_name];Environment:[env_name] is missing . Context [context].

गड़बड़ी के मैसेज का उदाहरण

Error Deploying Revision 2 to test
StatisticsCollection product.id: Datatype of Revision:2;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is missing. Context {2}.

स्क्रीनशॉट का उदाहरण

वजह

अगर स्टैटिस्टिक्स कलेक्टर नीति के <Statistic> एलिमेंट में, ref एट्रिब्यूट के ज़रिए तय किए गए वैरिएबल का टाइप मौजूद नहीं है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

संक्रमण की जांच

  1. जिस एपीआई प्रॉक्सी में गड़बड़ी हुई है उसमें आंकड़ों कलेक्टर की नीति की पहचान करें.
  2. फ़ेल हो चुके आंकड़े कलेक्टर नीति के एक्सएमएल में, हर <Statistic> एलिमेंट की परिभाषा की जांच करें. अगर कोई <Statistic> एलिमेंट है जिसमें टाइप एट्रिब्यूट मौजूद नहीं है, तो गड़बड़ी की वजह यही है.

यहां आंकड़ा कलेक्टर नीति का उदाहरण दिया गया है:

  <StatisticsCollector name="publishPurchaseDetails"
      <Statistics>
          <Statistic name="productID" ref="product.id">999999</Statistic>
          <Statistic name="price" ref="product.price" type="string">1000</Statistic>
      </Statistics>
  </StatisticsCollector>
  

ऊपर दी गई 'आंकड़े इकट्ठा करने की नीति' के उदाहरण में, ध्यान दें कि <Statistic> एलिमेंट के दोनों एलिमेंट के लिए 'टाइप' एट्रिब्यूट मौजूद नहीं है. इसलिए, एपीआई प्रॉक्सी का डिप्लॉयमेंट काम नहीं करता.

रिज़ॉल्यूशन

पक्का करें कि सांख्यिकी कलेक्टर नीति के <Statistic> एलिमेंट में, ref एट्रिब्यूट के ज़रिए तय किए गए वैरिएबल का 'टाइप' एट्रिब्यूट हमेशा मौजूद हो और वह डेटा टाइप इस्तेमाल किया जा सकता हो.

string, integer, float, long, double, और boolean डेटा टाइप इस्तेमाल किए जा सकते हैं.

उदाहरण के लिए:

<StatisticsCollector name="publishPurchaseDetails">
    <Statistics>
        <Statistic name="productID" ref="product.id" type="string">999999</Statistic>
        <Statistic name="price" ref="product.price"  type="string">1000</Statistic>
    </Statistics>
</StatisticsCollector>