Risoluzione degli errori di deployment dei criteri del raccoglitore delle statistiche

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

UnsupportedDatatype

Messaggio di errore

Il deployment del proxy API tramite la UI o l'API di gestione perimetrale non va a buon fine e 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 di raccolta delle statistiche 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 di raccoglitore delle statistiche, il deployment del proxy API non va a buon fine.

Diagnosi

  1. Identifica il criterio del raccoglitore delle statistiche nel proxy API specifico in cui si è verificato l'errore.
  2. Identifica il tipo di dati non supportato utilizzato nel criterio del raccoglitore delle 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 del raccoglitore delle statistiche che non ha superato il test 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 contenuto del 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, ciò è la causa dell'errore.

    Nell'esempio del criterio di raccolta delle statistiche mostrato sopra, ricorda che l'attributo type è impostato su char, che non è supportato. Pertanto, il deployment del proxy API non va a buon fine e viene restituito 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 delle 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 la UI o l'API di gestione perimetrale non va a buon fine e 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 delle statistiche è 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 nome viene specificato come organization nell'elemento <Statistic> del criterio di raccolta delle statistiche, il deployment del proxy API non va a buon fine.

Diagnosi

  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, nell'errore seguente, 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 nell'XML del criterio di raccolta delle statistiche che non è riuscito corrisponda al nome identificato nel messaggio di errore (passaggio 1 sopra). Ad esempio, il seguente criterio specifica il nome organization nell'elemento <Statistic>, che corrisponde a quanto indicato 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 è la causa dell'errore.

Nell'esempio del criterio di raccoglitore delle statistiche mostrato sopra, ricorda che l'attributo name di <Statistic> utilizzato è organization, che è il nome di una variabile di sistema. Di conseguenza, il deployment del proxy API non va a buon fine e viene restituito 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 delle statistiche non corrisponda 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 o l'API di gestione perimetrale non va a buon fine e 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 di raccolta delle statistiche non è presente, il deployment del proxy API non va a buon fine.

Diagnosi

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

Ecco un esempio di criterio 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 del criterio di raccolta delle statistiche mostrato sopra, tieni presente che l'attributo type non è presente per entrambi gli elementi <Statistic>. Di conseguenza, il deployment del proxy API non va a buon fine.

Risoluzione

Assicurati che l'attributo type della variabile specificata dall'attributo ref nell'elemento <Statistic> del criterio di raccolta delle statistiche sia sempre specificato e che 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>