Устранение ошибок при развертывании политики сборщика статистики

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

Неподдерживаемый тип данных

Сообщение об ошибке

Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления 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}.

Пример скриншота

Причина

Если тип переменной, указанной атрибутом ref в элементе <Statistic> политики сборщика статистики, не поддерживается, развертывание прокси-сервера API завершается неудачей.

Поддерживаемые типы данных: string , integer , float , long , double и boolean .

Например, если тип переменной указан как char в элементе <Statistic> политики сборщика статистики, то развертывание прокси-сервера API не удастся.

Диагностика

  1. Определите политику сборщика статистики в конкретном прокси-сервере API, где произошел сбой.
  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 , который не поддерживается. Таким образом, развертывание прокси-сервера API завершается с ошибкой:

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

Разрешение

Убедитесь, что тип данных переменных, указанных атрибутами ref в элементах <Statistic> политики сборщика статистики, поддерживается и допустим. Например:

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

Неверное имя

Сообщение об ошибке

Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления 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> политики сборщика статистики, конфликтует с определяемой системой переменной, то развертывание прокси-сервера API завершается неудачей.

Некоторые из известных системных переменных — это organization и environment .

Например, если атрибут name указан как organization в элементе <Statistic> политики сборщика статистики, то развертывание прокси-сервера API завершится неудачей.

Диагностика

  1. Определите политику сборщика статистики, в которой произошла ошибка, и имя элемента <Statistic> , который конфликтует с определяемой системой переменной. Оба эти элемента можно найти в сообщении об ошибке. Например, в следующей ошибке имя политики — StatCollector , имя элемента <Statistic> , который конфликтует с определенной системой переменной, — organization :

    StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
    
  2. Убедитесь, что имя элемента <Statistic> , используемое в ошибочном XML-коде политики сборщика статистики, соответствует имени, указанному в сообщении об ошибке (шаг № 1 выше). Например, следующая политика определяет имя organization в элементе <Statistic> , что соответствует тому, что указано в сообщении об ошибке:

    <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 , которая является именем системной переменной. Следовательно, развертывание прокси-сервера API завершается с ошибкой:

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>

Тип данныхОтсутствует

Сообщение об ошибке

Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления 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}.

Пример скриншота

Причина

Если тип переменной, указанной атрибутом ref в элементе <Statistic> политики сборщика статистики, отсутствует, развертывание прокси-сервера API завершается неудачно.

Диагностика

  1. Определите политику сборщика статистики в конкретном прокси-сервере API, где произошел сбой.
  2. Проверьте определение каждого элемента <Statistic> в ошибочном XML-коде политики сборщика статистики. Если есть элементы <Statistic> , у которых атрибут type отсутствует, это и есть причина ошибки.

Вот пример политики сборщика статистики:

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

В приведенном выше примере политики сборщика статистики обратите внимание, что атрибут type отсутствует для обоих элементов <Statistic> . Таким образом, развертывание прокси-сервера API завершается неудачно.

Разрешение

Убедитесь, что атрибут type переменной, указанной атрибутом ref в элементе <Statistic> политики сборщика статистики, всегда указан и имеет поддерживаемый тип данных.

Поддерживаемые типы данных: 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>