Solução de problemas de erros na implantação da política do coletor de estatísticas

Você está vendo a documentação da Apigee X.
Veja a documentação da Apigee Edge.

UnsupportedDatatype

Mensagem de erro

A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:

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

Exemplo de mensagem de erro

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

Captura de tela de exemplo

Mensagem de erro de tipo de dados incompatível.

Causa

Se o tipo da variável especificada pelo atributo ref no elemento <Statistic> da política do Coletor de estatísticas não for compatível, a implantação do proxy da API falhará.

Os tipos de dados compatíveis são string, integer, float, long, double e boolean.

Por exemplo, se o tipo de variável for especificado como char no elemento <Statistic> da política do Coletor de estatísticas, a implantação do proxy de API falhará.

Diagnóstico

  1. Identifique a política do Coletor de estatísticas no proxy de API específico em que a falha ocorreu.
  2. Identifique o tipo de dados incompatível usado na política do Coletor de estatísticas. Você encontra essas informações na mensagem de erro. Por exemplo, no seguinte erro, o tipo de dados não compatível é char:

    StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
    
  3. Verifique se o atributo de tipo usado na política do Coletor de estatísticas com falha corresponde ao tipo de dados identificado na mensagem de erro (etapa 2 acima). Por exemplo, a política a seguir especifica o tipo de dados como char, que corresponde ao que está na mensagem de erro:

    <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 o atributo type não for de um tipo de dados compatível, essa é a causa do erro.

    No exemplo de política de coletor de estatísticas mostrado acima, lembre-se de que o atributo type está definido como char, que não é compatível. Portanto, a implantação do proxy de API falha com o erro:

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

Resolução

Verifique se o tipo de dados das variáveis especificadas pelos atributos ref nos elementos <Statistic> da política do Coletor de estatísticas é compatível e válido. Exemplo:

<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

Mensagem de erro

A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:

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

Exemplo de mensagem de erro

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

Captura de tela de exemplo

Mensagem de erro de nome inválido.

Causa

Se o nome usado para referenciar os dados coletados para a variável especificada definida no elemento <Statistic> da política do Coletor de estatísticas estiver em conflito com uma variável definida pelo sistema, a implantação do proxy de API falhará.

Algumas das variáveis conhecidas definidas pelo sistema são organization e environment.

Por exemplo, se o atributo de nome for especificado como organization no elemento <Statistic> da política do Coletor de estatísticas, a implantação do proxy de API falhará.

Diagnóstico

  1. Identifique a política do Coletor de estatísticas em que o erro ocorreu e o nome do elemento <Statistic> que entra em conflito com uma variável definida pelo sistema. Você encontra esses dois itens na mensagem de erro. Por exemplo, no erro a seguir, o nome da política é StatCollector, o nome do elemento <Statistic> que entra em conflito com a variável definida pelo sistema é organization:

    StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
    
  2. Verifique se o nome do elemento <Statistic> usado no XML da política de coleta de estatísticas com falha corresponde ao nome identificado na mensagem de erro (etapa 1 acima). Por exemplo, a política a seguir especifica o nome como organization no elemento <Statistic>, que corresponde ao que está na mensagem de erro:

    <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. Examine a definição de cada um dos elementos <Statistic>. Se houver algum elemento <Statistic> em que o atributo name entre em conflito com uma variável do sistema, essa é a causa do erro.

No exemplo de política do Coletor de estatísticas mostrado acima, lembre-se de que o atributo de nome <Statistic> usado é organization, que é um nome de variável do sistema. Portanto, a implantação do proxy de API falha com o erro:

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

Resolução

Verifique se o nome do elemento <Statistic> usado para fazer referência aos dados coletados para a variável especificada definida no elemento <Statistic> na política do Coletor de estatísticas não é o mesmo que as variáveis definidas pelo sistema. Exemplo:

<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

Mensagem de erro

A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:

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

Exemplo de mensagem de erro

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

Captura de tela de exemplo

Mensagem de erro do tipo de dados ausente.

Causa

Se o tipo da variável especificada pelo atributo ref no elemento <Statistic> da política do coletor de estatísticas estiver ausente, a implantação do proxy da API falhará.

Diagnóstico

  1. Identifique a política do Coletor de estatísticas no proxy de API específico em que a falha ocorreu.
  2. Examine a definição de cada um dos elementos <Statistic> no XML da política de coleta de estatísticas com falha. Se houver algum elemento <Statistic> em que o atributo de tipo esteja ausente, essa é a causa do erro.

Veja um exemplo de política de coletor de estatísticas:

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

No exemplo de política de coletor de estatísticas mostrado acima, observe que o atributo de tipo está ausente para os elementos <Statistic>. Portanto, a implantação do proxy de API falha.

Resolução

Verifique se o atributo de tipo da variável especificada pelo atributo ref no elemento <Statistic> da política do Coletor de estatísticas é sempre especificado e é de tipo de dados compatível.

Os tipos de dados compatíveis são string, integer, float, long, double e boolean.

Exemplo:

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