Risoluzione degli errori di deployment dei criteri del raccoglitore delle statistiche

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

UnsupportedDatatype

Messaggio di errore

Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera 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 per la raccolta delle statistiche non è supportato, il deployment del proxy API non riesce.

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 per la raccolta delle statistiche, il deployment del proxy API non riesce.

Diagnostica

  1. Identifica il criterio del raccoglitore delle statistiche nello specifico proxy API in cui si è verificato l'errore.
  2. Identifica il tipo di dati non supportato utilizzato nel criterio del raccoglitore di statistiche. 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 della raccolta delle statistiche non riuscito corrisponda al tipo di dati identificato nel messaggio di errore (passaggio 2 sopra). Ad esempio, il seguente criterio specifica il tipo di dati come char, che corrisponde al 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 criterio per la raccolta delle statistiche mostrato sopra, ricorda che l'attributo type è impostato su char, ma non è supportato. Pertanto, il deployment del proxy API non riesce e restituisce l'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 di riferimento negli elementi <Statistic> del criterio del raccoglitore di statistiche 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 l'UI o l'API di gestione perimetrale non riesce e genera 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> del criterio del raccoglitore di statistiche è in conflitto con una variabile definita dal sistema, il deployment del proxy API non andrà a buon fine.

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

Ad esempio, se l'attributo nome è specificato come organization nell'elemento <Statistic> del criterio per la raccolta delle statistiche, il deployment del proxy API non riesce.

Diagnostica

  1. Identifica il criterio del raccoglitore delle statistiche 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 del criterio è StatCollector, mentre il nome dell'elemento <Statistic> 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 della raccolta delle statistiche non riuscito corrisponda al nome identificato nel messaggio di errore (passaggio 1 riportato sopra). Ad esempio, il seguente criterio specifica il nome organization nell'elemento <Statistic>, che corrisponde al 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>. La causa dell'errore è la presenza di un elemento <Statistic> in cui l'attributo name è in conflitto con una variabile di sistema.

Nell'esempio di criterio per la raccolta delle statistiche mostrato sopra, ricorda che l'attributo nome utilizzato per <Statistic> è organization, ovvero il nome di una variabile di sistema. Pertanto, il deployment del proxy API non riesce e restituisce l'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> nel criterio del raccoglitore statistiche non corrisponda a quello delle 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 l'UI o l'API di gestione perimetrale non riesce e genera 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 il tipo di variabile specificato dall'attributo ref nell'elemento <Statistic> del criterio per la raccolta delle statistiche non è presente, il deployment del proxy API non riesce.

Diagnostica

  1. Identifica il criterio del raccoglitore delle statistiche nello specifico proxy API in cui si è verificato l'errore.
  2. Esamina la definizione di ciascuno degli elementi <Statistic> nel file XML del criterio del raccoglitore di statistiche che non è stato superato. Se ci sono elementi <Statistic> in cui l'attributo type non è presente, è questo il motivo dell'errore.

Ecco un esempio di norma per la 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 criterio relativo alla raccolta delle statistiche mostrato sopra, tieni presente 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 del raccoglitore di statistiche sia sempre specificato e che sia del 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>