Risoluzione degli errori di deployment dei criteri del raccoglitore delle statistiche

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

UnsupportedDatatype

Messaggio di errore

Il deployment del proxy API tramite la UI Edge o l'API di gestione Edge non riesce e viene visualizzato questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Causa

Se il tipo di variabile specificato dall'attributo ref nell'elemento <Statistic> del criterio Statistics Collector non è supportato, il deployment del proxy API non va a buon fine.

I tipi di dati supportati sono string, integer, float, long, double e boolean.

Ad esempio, se il tipo di variabile è specificato come char nell'elemento <Statistic> del criterio Statistics Collector, il deployment del proxy API non va a buon fine.

Diagnosi

  1. Identifica la norma Statistics Collector nel proxy API specifico in cui si è verificato l'errore.
  2. Identifica il tipo di dati non supportato utilizzato nelle norme di Statistics Collector. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nel seguente errore, il tipo di dati non supportato è char:

    StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
    
  3. Verifica che l'attributo type utilizzato nel criterio di raccolta delle statistiche non riuscito corrisponda al tipo di dati identificato nel messaggio di errore (passaggio 2 sopra). Ad esempio, la seguente policy specifica il tipo di dati come char, che corrisponde a quanto riportato nel messaggio di errore:

    <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. Se l'attributo type non è di un tipo di dati supportato, questo è il motivo dell'errore.

    Nell'esempio di policy del raccoglitore di statistiche mostrato sopra, ricorda che l'attributo type è impostato su char, che non è supportato. Pertanto, il deployment del proxy API non riesce e viene visualizzato il seguente errore:

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

Risoluzione

Assicurati che il tipo di dati delle variabili specificate dagli attributi ref negli elementi <Statistic> della policy Statistics Collector sia supportato e valido. Ad esempio:

<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

Messaggio di errore

Il deployment del proxy API tramite la UI Edge o l'API di gestione Edge non riesce e viene visualizzato questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Causa

Se il nome utilizzato per fare riferimento ai dati raccolti per la variabile specificata definita all'interno dell'elemento <Statistic> della norma Statistics Collector è in conflitto con una variabile definita dal sistema, il deployment del proxy API non va a buon fine.

Alcune delle variabili note definite dal sistema sono organization e environment.

Ad esempio, se l'attributo name è specificato come organization nell'elemento <Statistic> del criterio Statistics Collector, il deployment del proxy API non va a buon fine.

Diagnosi

  1. Identifica il criterio Statistics Collector in cui si è verificato l'errore e il nome dell'elemento <Statistic> in conflitto con una variabile definita dal sistema. Puoi trovare entrambi questi elementi nel messaggio di errore. Ad esempio, nel seguente errore, il nome della policy è StatCollector, il nome dell'elemento <Statistic> che è in conflitto con la variabile definita dal sistema è organization:

    StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
    
  2. Verifica che il nome dell'elemento <Statistic> utilizzato nel file XML del criterio di raccolta delle statistiche non riuscito corrisponda al nome identificato nel messaggio di errore (passaggio 1 sopra). Ad esempio, la seguente policy specifica il nome come organization nell'elemento <Statistic>, che corrisponde a quanto riportato nel messaggio di errore:

    <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. Esamina la definizione di ciascuno degli elementi <Statistic>. Se è presente un elemento <Statistic> in cui l'attributo name è in conflitto con una variabile di sistema, questo è il motivo dell'errore.

Nell'esempio di criteri per il raccoglitore di statistiche mostrato sopra, ricorda che l'attributo name di <Statistic> utilizzato è organization, che è un nome di variabile di sistema. Pertanto, il deployment del proxy API non riesce e viene visualizzato il seguente errore:

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

Risoluzione

Assicurati che il nome dell'elemento <Statistic> utilizzato per fare riferimento ai dati raccolti per la variabile specificata definita all'interno dell'elemento <Statistic> nella policy Statistics Collector non sia uguale alle variabili definite dal sistema. Ad esempio:

<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

Messaggio di errore

Il deployment del proxy API tramite la UI Edge o l'API di gestione Edge non riesce e viene visualizzato questo messaggio di errore:

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].

Esempio di messaggio di errore

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

Screenshot di esempio

Causa

Se manca il tipo di variabile specificato dall'attributo ref nell'elemento <Statistic> del criterio Statistics Collector, il deployment del proxy API non va a buon fine.

Diagnosi

  1. Identifica la norma Statistics Collector nel proxy API specifico in cui si è verificato l'errore.
  2. Esamina la definizione di ciascuno degli elementi <Statistic> nel file XML della policy di Statistics Collector non riuscita. Se sono presenti elementi <Statistic> in cui manca l'attributo type, questo è il motivo dell'errore.

Ecco un esempio di criterio dell'agente di raccolta delle statistiche:

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

Nell'esempio di policy di raccolta delle statistiche mostrato sopra, nota che l'attributo type non è presente per entrambi gli elementi <Statistic>. Pertanto, il deployment del proxy API non riesce.

Risoluzione

Assicurati che l'attributo type della variabile specificata dall'attributo ref nell'elemento <Statistic> del criterio Statistics Collector sia sempre specificato e sia di un tipo di dati supportato.

I tipi di dati supportati sono string, integer, float, long, double e boolean.

Ad esempio:

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