Fluxos compartilhados reutilizáveis

Você está visualizando a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

É possível combinar políticas e recursos em um fluxo compartilhado que é possível consumir de vários proxies de API e até mesmo de outros fluxos compartilhados. Ele é semelhante a um proxy, mas um fluxo compartilhado não tem um endpoint. É possível usá-lo somente de um proxy de API ou fluxo compartilhado que esteja na mesma organização do fluxo compartilhado.

Ao capturar em um lugar a funcionalidade que é útil em vários lugares, um fluxo compartilhado a garantir consistência, diminuir o tempo de desenvolvimento e gerenciar o código com mais facilidade.

O vídeo a seguir mostra como criar e rastrear um fluxo compartilhado na interface do Edge.

O vídeo a seguir de cinco minutos demonstra como criar e rastrear um fluxo compartilhado na interface clássica do Edge (somente para o Edge para nuvem particular).

É possível chamar um fluxo compartilhado usando a política Flow callout. Além disso, ao anexar um fluxo compartilhado a um gancho de fluxo, é possível fazer com que o fluxo compartilhado seja executado antes de um proxy ou uma solicitação de destino, ou depois de um proxy ou uma resposta de destino.

Para referência sobre a política FlowCallout, consulte a política FlowCallout. Para mais informações sobre ganchos de fluxo, consulte Como anexar um fluxo compartilhado usando um gancho de fluxo.

Por exemplo, imagine que você tem áreas de funcionalidade que são usadas em vários lugares ou precisam ser padronizadas em todas as APIs da sua organização. É possível ter um fluxo compartilhado para cada categoria, incluindo:

  • security, com código de autorização usando OAuth e verificação de chave de API, bem como código de proteção contra ameaças.
  • logging, para gerar mensagens de erro padrão.
  • mediation, para transformação entre os formatos de mensagem XML e JSON.

Na ilustração a seguir, dois proxies de API chamam (com uma política FlowCallout) um fluxo compartilhado para autenticar solicitações recebidas de usuários. O AuthSharedFlow foi implantado separadamente na organização, antes dos proxies, para que fique disponível para atender às solicitações dos proxies. Um fluxo compartilhado pode ser desenvolvido e gerenciado por uma equipe responsável por políticas amplas da empresa e, então, consumidos em proxies por equipes de linha de negócios que criam aplicativos mais especializados.

Como desenvolver um fluxo compartilhado

Ao desenvolver um fluxo compartilhado, é sempre necessário testá-lo com chamadas enviadas a um proxy da API. Em outras palavras, não é possível enviar solicitações diretamente para um fluxo compartilhado como você faria com um proxy de API. Em vez disso, você envia solicitações para um proxy de API que, por sua vez, chama o fluxo compartilhado.

Veja as etapas gerais para o desenvolvimento de um fluxo compartilhado:

  1. Descubra qual deve ser o conjunto compartilhado de recursos.

    Por exemplo, convém combinar recursos de gerenciamento de tráfego, incluindo a supressão de picos. Dessa forma, é possível gerenciar a configuração fora do fluxo de trabalho daqueles que implementam a lógica de linha de negócios.

  2. Desenvolver um fluxo compartilhado implementando políticas e recursos de suporte da mesma forma que faria ao desenvolver um proxy de API.

    Um fluxo compartilhado é uma sequência de passos condicionais. Portanto, desenvolver um é como desenvolver um proxy de API. É possível incluir políticas e recursos que podem ser incluídos em um proxy.

    Por exemplo, como parte do suporte ao gerenciamento de tráfego, é possível implementar uma política do Spike Arrest para permitir apenas 30 solicitações por segundo, como no exemplo a seguir:

    <SpikeArrest async="false" continueOnError="false" enabled="true" name="Spike-Arrest">
        <DisplayName>Spike Arrest</DisplayName>
        <Properties/>
        <Identifier ref="request.header.some-header-name"/>
        <MessageWeight ref="request.header.weight"/>
        <Rate>30ps</Rate>
    </SpikeArrest>
    

    Em seguida, em um fluxo compartilhado para o gerenciamento de tráfego, você tem a opção de anexar a política Spike Arrest como um passo. A política é executada para qualquer proxy de API que chama o fluxo compartilhado.

    <SharedFlow name="default">
        <Step>
            <Name>Spike-Arrest</Name>
        </Step>
    </SharedFlow>
    

    Para informações sobre como iniciar um fluxo compartilhado no console de gerenciamento, consulte Como criar um fluxo compartilhado na IU do Edge.

    Assim como acontece com os proxies de API, é possível importar um arquivo zip contendo os artefatos da origem de fluxo compartilhado. Consulte Importar um novo proxy de API para saber mais sobre como importar proxies. Confira a seguir como importar um fluxo compartilhado com a API de gerenciamento:

    curl -X POST -F "file=@/path/to/zip/file.zip" \ 'https://api.enterprise.apigee.com/v1/o/{org_name}/sharedflows?action=import&name=shared-flow-name' \
    -u email:password
    
  3. Implante o fluxo compartilhado no ambiente antes de implantar os proxies ou fluxos compartilhados que o consumirão. Você implanta um fluxo compartilhado da mesma maneira que um proxy de API. Para mais informações, consulte a Visão geral da implantação.

    Um fluxo compartilhado precisa estar na mesma organização e ser implantado no mesmo ambiente que os proxies de API e outros fluxos compartilhados que o consomem. Implantar o fluxo compartilhado antes que os proxies possibilita resolver a dependência do proxy no fluxo compartilhado no momento da implantação.

    É possível implantar um fluxo compartilhado com uma chamada da API de gerenciamento, como esta:

    curl -X POST --header "Content-Type: application/octet-stream" \
    https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/sharedflows/{shared_flow_name}/revisions/{revision_number}/deployments \
    -u email:password
    

    Também é possível substituir um fluxo compartilhado implantado sem inatividade. Isso é muito parecido com os proxies de API. Consulte Implantar proxies de API usando a API de gerenciamento para saber mais. Este é o formulário de solicitação usando a API de gerenciamento:

    curl -X POST --header "Content-Type:application/x-www-form-urlencoded" \
    https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/sharedflows/{shared_flow_name}/revisions/{revision_number}/deployments?"override=true" \
    -u email:password
    
  4. Desenvolva o proxy de API de consumo para que ele possa chamar o fluxo compartilhado como parte do próprio fluxo.

    Em um proxy de API, você chama um fluxo compartilhado com uma política FlowCallout. Também é possível anexar o fluxo compartilhado ao proxy usando um gancho de fluxo, conforme descrito em Como anexar um fluxo compartilhado usando um gancho de fluxo. Para ver um tutorial introdutório sobre como criar um proxy de API, consulte Criar seu primeiro proxy de API.

    Para consumir um fluxo compartilhado, adicione uma política FlowCallout ao proxy ou fluxo compartilhado que vai consumi-lo. Assim como uma política de chamada de serviço, que você usa para chamar outro serviço, um Flowframe chama o fluxo compartilhado. O proxy de API de consumo precisa ser implantado após o fluxo compartilhado e no mesmo ambiente do fluxo compartilhado. O fluxo compartilhado precisa estar em vigor quando você quer testar uma chamada nele usando a política FlowCallout.

    No código a seguir, uma política FlowCall chama um fluxo compartilhado chamado traffic-management-shared.

    <FlowCallout async="false" continueOnError="false" enabled="true" name="Traffic-Management-Flow-Callout">
        <DisplayName>Traffic Management FlowCallout</DisplayName>
        <Properties/>
        <SharedFlowBundle>traffic-management-shared</SharedFlowBundle>
    </FlowCallout>
    

    Para mais informações, consulte Como chamar um fluxo compartilhado de um proxy de API ou fluxo compartilhado

  5. Implante o proxy de API de consumo para começar a usar o fluxo compartilhado. Para saber mais sobre implantação em geral, consulte Noções básicas sobre a implantação.
  6. Desenvolva de forma iterativa, rastreando como faria com um proxy de API.

    Assim como em um proxy de API, você desenvolve um fluxo compartilhado invocando e rastreando iterativamente até ter a lógica do jeito que quiser. Nesse caso, como o fluxo compartilhado não é executado por conta própria, invoque um endpoint de proxy e rastreie o proxy.

    Siga estas etapas:

    1. Verifique se o fluxo compartilhado e o proxy de API que faz a chamada com uma política Flowframe estão na mesma organização e foram implantados no mesmo ambiente.
    2. Na guia Trace do proxy de API, comece a rastrear o proxy de API.
    3. Envie uma solicitação para um endpoint de proxy no proxy da API. O fluxo do endpoint precisa incluir a política FlowCallout que chama o fluxo compartilhado.
    4. Na guia Trace, examine o fluxo do proxy de API para o fluxo compartilhado.

      No rastreamento, o fluxo compartilhado é representado como um conjunto de passos ou políticas incluídas em uma caixa cinza. Ícones que representam as políticas do Flowframe precedem os fluxos compartilhados. Para mais informações sobre rastreamento, consulte Como usar a ferramenta Trace.

Como criar um fluxo compartilhado na interface do Edge

Ao usar a interface do Apigee Edge para criar um fluxo compartilhado, é possível criar um do zero ou importar as origens de fluxo atuais como um arquivo ZIP de pacotes de fluxo.

  1. Acesse a página "Fluxos compartilhados", conforme descrito abaixo. Na página "Fluxos compartilhados", é possível ver uma lista de fluxos compartilhados na organização e editar ou excluir fluxos na lista.

    Edge

    Para acessar a página "Fluxos compartilhados" usando a interface do Edge:

    1. Faça login em apigee.com/edge.
    2. Selecione a organização que contém o fluxo compartilhado. Consulte Como alternar entre suas organizações.

      O fluxo compartilhado estará disponível para todos os proxies de API e fluxos compartilhados implantados em um ambiente dessa organização. Ele não estará disponível fora desta organização.

    3. Selecione Desenvolver > Fluxos compartilhados na barra de navegação à esquerda.

    Edge clássico (nuvem privada)

    Para acessar a página "Fluxos compartilhados" usando a interface clássica do Edge:

    1. Faça login em http://ms-ip:9000, em que ms-ip é o endereço IP ou o nome DNS do nó do servidor de gerenciamento.
    2. Selecione a organização que contém o fluxo compartilhado. Consulte Como alternar entre suas organizações.

      O fluxo compartilhado estará disponível para todos os proxies de API e fluxos compartilhados implantados em um ambiente dessa organização. Ele não estará disponível fora desta organização.

    3. Selecione APIs > Fluxos compartilhados na barra de navegação superior.
  2. Clique no botão + Fluxo compartilhado para começar a adicionar um novo fluxo compartilhado.
  3. Na página Criar um fluxo compartilhado, escolha como você quer criar o novo fluxo:
    • Crie um novo fluxo do zero. Você poderá configurar políticas e recursos como passos no fluxo.
      1. Selecione Fluxo compartilhado vazio.
      2. Digite um valor de nome. Esse será o nome que os proxies de API e outros fluxos compartilhados usarão para se referir a esse fluxo compartilhado. O nome precisa ser descritivo para os desenvolvedores que consomem o fluxo.
      3. Insira uma descrição para fornecer mais informações sobre o que o fluxo faz.
      4. Clique em Next.
      5. Também é possível selecionar os ambientes para implantar o novo fluxo.

        Por exemplo, se você testar o fluxo compartilhado dos proxies de API implantados no ambiente de teste, implante esse fluxo compartilhado no teste.

      6. Clique em Criar e implantar para que o novo fluxo compartilhado seja criado e implantado nos ambientes selecionados. Se você não selecionou ambiente, o fluxo compartilhado será criado, mas não implantado.

    • Crie um fluxo compartilhado de origens atuais fazendo upload de um pacote de fluxos.
      1. Selecione Pacote de fluxo compartilhado para especificar um arquivo .zip contendo os artefatos que você quer no novo fluxo.

        Um pacote de fluxos compartilhados contém os artefatos de origem de um fluxo compartilhado. Por exemplo, se você fizer o download de um fluxo compartilhado na interface do Edge, terá um arquivo .zip com o pacote de fluxos.

      2. Clique em Próxima.
      3. Clique em Escolher arquivo para procurar o arquivo ZIP que contém as origens de fluxo compartilhado que você quer importar.
      4. Na caixa Nome do fluxo compartilhado, insira um nome para o fluxo importado. Esse será o nome que os proxies de API e outros fluxos compartilhados usarão para se referir a esse fluxo compartilhado. O nome precisa ser descritivo para os desenvolvedores que consomem o fluxo.
      5. Clique em Next.
      6. Clique em Build para criar o novo fluxo das fontes que você está importando.

Como chamar um fluxo compartilhado a partir de um proxy de API ou fluxo compartilhado

É possível chamar um fluxo compartilhado de um proxy ou de outro fluxo compartilhado usando a política FlowCallout.

  1. Na interface do Edge, localize o proxy ou o fluxo compartilhado de onde você quer chamar outro fluxo compartilhado.
  2. No Navegador, ao lado de Políticas, clique no botão +.
  3. Na lista de políticas, em Extensão, clique em FlowCallout.
  4. Digite o nome de exibição e o nome (identificador único) e selecione o fluxo compartilhado que a política chamará.
  5. Clique em Adicionar.
  6. Adicione a nova política FlowCallout ao proxy em que você quer fazer a chamada.

Consulte também

Como encadear proxies de API