Incorporar código processual

Esta página aplica-se ao Apigee e ao Apigee Hybrid.

Veja a documentação do Apigee Edge.

Pode adicionar código em linguagens processuais, como JavaScript, Java e Python, e, em seguida, chamar esse código a partir de outras partes de um proxy de API. O suporte para código processual foi concebido para facilitar a implementação do processamento complexo de variáveis de fluxo, falhas e corpos de pedidos e respostas.

Com o código processual, pode:

  • Criar ou manipular valores de corpo complexos, como valores de pedidos e respostas.
  • Reescrever URLs, por exemplo, para ocultar um URL de ponto final de destino.
  • Adicionar outra lógica não disponível com as políticas incluídas.

Como funciona

Usa uma política específica do idioma para fazer chamadas de um fluxo de proxy para o seu código incluído. Para cada um dos idiomas suportados, o Apigee inclui uma política separada: Política de JavaScript, Política JavaCallout e Política PythonScript.

A descrição seguinte explica, a um nível elevado, uma forma de funcionamento. Consulte as referências da política para ver mais detalhes.

  1. Num ficheiro separado, escreva o código que vai usar.
  2. No seu código, coloque o resultado do processamento do código numa variável de fluxo do Apigee.

    Vai obter o valor da variável noutro local no proxy de API. Para saber mais sobre as variáveis de fluxo, consulte o artigo Gerir o estado do proxy com variáveis de fluxo.

  3. Adicione o seu ficheiro (ou JAR) como um ficheiro de recursos ao seu proxy de API.

    Para saber mais sobre ficheiros de recursos, consulte o artigo Ficheiros de recursos.

  4. Adicione a política correspondente ao idioma que está a usar.

    Configure a política para fazer uma chamada ao seu código a partir do local pretendido no fluxo do proxy da API.

  5. Use uma política para obter o valor do código a partir da variável de fluxo.

Limitações

O modelo de segurança do Apigee não permite chamadas de sistema, como E/S de rede, leituras/escritas do sistema de ficheiros, informações do utilizador atual, lista de processos e utilização de CPU/memória. Embora algumas destas chamadas possam ser funcionais, não são suportadas e podem ser ativamente desativadas em qualquer altura. Para garantir a compatibilidade futura, deve evitar fazer essas chamadas no seu código.

Podem existir outras limitações para cada idioma suportado, conforme descrito na referência da política correspondente do idioma.

Idiomas suportados

JavaScript

O suporte para JavaScript inclui um modelo de objeto completo para processar variáveis e valores específicos de um proxy de API. Para mais informações, consulte o modelo de objeto JavaScript.

Para ver informações de referência e exemplos de políticas, consulte a Política de JavaScript.

Java

Use a política JavaCalloutpara fazer chamadas para código Java a partir do fluxo do seu proxy. O tópico de referência da política inclui exemplos.

Python

Use a política de script Python para chamar código Python.