Fehlerbehebung bei der Bereitstellung von Statistics Collector-Richtlinien

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

UnsupportedDatatype

Fehlermeldung

Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:

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

Beispiel für Fehlermeldung

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

Beispiel-Screenshot

Ursache

Wird der Typ der Variablen, die durch das Attribut ref im <Statistic>-Element der Statistics Collector-Richtlinie festgelegt wurde, nicht unterstützt, so schlägt die Bereitstellung des API-Proxys fehl.

Unterstützte Datentypen sind string, integer, float, long, double und boolean.

Beispiel: Wenn der Typ der Variablen im Element <Statistic> der Statistics Collector-Richtlinie als char angegeben wird, schlägt die Bereitstellung des API-Proxys fehl.

Diagnose

  1. Identifizieren Sie die Statistics Collector-Richtlinie in dem API-Proxy, in dem der Fehler aufgetreten ist.
  2. Ermitteln Sie den nicht unterstützten Datentyp, der in der Statistics Collector-Richtlinie verwendet wird. Diese Information finden Sie in der Fehlermeldung. Im folgenden Fehler wird beispielsweise char nicht unterstützt:

    StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
    
  3. Prüfen Sie, ob das in der fehlgeschlagenen Statistics Collector-Richtlinie verwendete Typattribut mit dem in der Fehlermeldung angegebenen Datentyp übereinstimmt (Schritt 2 oben). Beispiel: Die folgende Richtlinie gibt den Datentyp als char an, was dem Inhalt der Fehlermeldung entspricht:

    <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. Wird das Typattribut nicht unterstützt, so ist dies die Ursache des Fehlers.

    Denken Sie daran, dass oben in der Beispiel-Richtlinie von Statistics Collector das type-Attribut auf char gesetzt ist, was nicht unterstützt wird. Entsprechend schlägt die Bereitstellung des API-Proxys mit folgendem Fehler fehl:

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

Lösung

Prüfen Sie, ob der Datentyp der Variablen, die durch die ref-Attribute in den <Statistic>-Elementen der Statistics Collector-Richtlinie angegeben sind, unterstützt wird und gültig ist. Beispiel:

<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

Fehlermeldung

Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:

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

Beispiel für Fehlermeldung

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

Beispiel-Screenshot

Ursache

Steht der Name, der für den Verweis auf die angegebene, im <Statistic>-Element der Statistics Collector-Richtlinie definierte Variable verwendet wird mit einer systemdefinierten Variable in Konflikt, so schlägt die Bereitstellung des API-Proxys fehl.

Zu den bekannten systemdefinierten Variablen zählen organization und environment.

Beispiel: Wenn das Namensattribut im <Statistic>-Element der Statistics Collector-Richtlinie als organization angegeben ist, schlägt die Bereitstellung des API-Proxys fehl.

Diagnose

  1. Identifizieren Sie die Statistics Collector-Richtlinie, die den Fehler verursacht hat, sowie den Namen des <Statistic>-Elements, das mit einer systemdefinierten Variable in Konflikt steht. Sie finden beides in der Fehlermeldung. Im folgenden Fehler lautet der Richtlinienname beispielsweise StatCollector, der Name des Elements <Statistic>, das in Konflikt mit der vom System definierten Variable steht, lautet organization:

    StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
    
  2. Prüfen Sie, ob der Name des in der fehlgeschlagenen Statistics Collector-Richtlinien-XML verwendeten <Statistic>-Elements mit dem in der Fehlermeldung angegebenen Namen übereinstimmt (siehe Schritt 1 oben). Beispiel: Folgende Richtlinie gibt den Namen als organization im Element <Statistic> an, was mit der Fehlermeldung übereinstimmt:

    <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. Sehen Sie sich die Definition der einzelnen <Statistic>-Elemente an. Wenn ein <Statistic>-Element vorhanden ist, bei dem das Attribut name mit einer Systemvariable in Konflikt steht, ist dies die Ursache des Fehlers.

Denken Sie daran, dass oben in der Beispiel-Richtlinie von Statistics Collector organization als Namensattribut von <Statistic> verwendet wird, was der Name einer Systemvariablen ist. Daher schlägt die Bereitstellung des API-Proxys mit folgendem Fehler fehl:

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

Lösung

Beachten Sie: Der Name der systemdefinierten Variablen darf nicht übereinstimmen mit dem Namen des <Statistic>-Elements, das für die Daten verwendet wurde, die für die (in den <Statistic>-Elementen der Statistics Collector-Richtlinie definierte) Variable erfasst wurden. Beispiel:

<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

Fehlermeldung

Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:

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

Beispiel für Fehlermeldung

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

Beispiel-Screenshot

Ursache

Fehlt der Typ der Variablen, die durch das Attribut ref im <Statistic>-Element der Statistics Collector-Richtlinie angegeben wurde, schlägt die Bereitstellung des API-Proxys fehl.

Diagnose

  1. Identifizieren Sie die Statistics Collector-Richtlinie in dem API-Proxy, in dem der Fehler aufgetreten ist.
  2. Sehen Sie sich die Definition der einzelnen <Statistic>-Elemente in der XML-Datei der fehlgeschlagenen Statistics Collector-Richtlinie an. Wenn es <Statistic>-Elemente gibt, deren Typattribut fehlt, ist dies die Ursache des Fehlers.

Beispiel einer Statistics Collector-Richtlinie:

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

Beachten Sie, dass in der oben gezeigten Beispielstatistik für die Statistics Collector-Richtlinie das Typattribut für die <Statistic>-Elemente fehlt. Daher schlägt die Bereitstellung des API-Proxys fehl.

Lösung

Achten Sie darauf, dass das Typattribut der Variable, die im Attribut ref im <Statistic>-Element der Statistics Collector-Richtlinie bestimmt wird, immer angegeben ist und unterstützt wird.

Unterstützte Datentypen sind string, integer, float, long, double und boolean.

Beispiel:

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