Configurando um coletor de proxy do DataPower API Gateway para descoberta de API

Como incluir um coletor de origem de dados de proxy do DataPower® API Gateway em seu recurso de descoberta de API

Antes de Iniciar

Antes que um coletor de proxy de descoberta de API DataPower API Gateway possa coletar dados de uma organização do provedor, deve-se primeiro ativar o compartilhamento de dados de analítica da organização do provedor; consulte Compartilhando dados de analítica para descoberta de API.

Uma das funções da organização do provedor a seguir é necessária para poder gerenciar origens:
  • Administrador da organização
  • Proprietário
  • A função customizada com a permissão Settings: Manage

Sobre essa tarefa

A descoberta de APIs é um complemento IBM® API ConnectAI Gateway opcional que pode ser usado para identificar e adicionar APIs ao seu processo de desenvolvimento de APIs. Antes de poder descobrir quaisquer APIs, deve-se configurar um ou mais coletores de origem de dados.. Esses coletores são então adicionados automaticamente à guia “Fontes” na interface do usuário do Gerenciador de API quando o coletor envia os primeiros documentos do tipo “ OpenAPI ” para a sua organização provedora.

Para configurar um coletor de proxy descoberta de API DataPower API Gateway , é possível criar uma definição de API de proxy ou atualizar uma API de proxy existente em sua organização do provedor no API ConnectAI Gateway. Essa API de proxy nova ou existente conterá o terminal de um serviço REST existente do qual você deseja usar para descobrir documentos OpenAPI . Os documentos OpenAPI descobertos podem, então, ser copiados para APIs de rascunho conforme necessário, para ativar o gerenciamento de ciclo de vida integral no API Manager. Se você estiver atualizando uma definição de API de proxy existente, os campos mínimos que são necessários para que a coleta ocorra são a inclusão do segmento invoke policy log e ambos os segmentos set-variable , que são mostrados no exemplo YAML na Etapa 1.

Procedimento

Para configurar um coletor de proxy do DataPower API Gateway usando a IU do API Manager , conclua as etapas a seguir. Também é possível usar o toolkit CLI para criar sua definição de API de proxy. Para obter informações gerais sobre como usar a CLI do kit de ferramentas, consulte Visão geral da ferramenta de linha de comando.
  1. Crie um arquivo YAML para sua definição de API de proxy, como o exemplo a seguir:
    swagger: '2.0'
    info:
      version: version
      title: title
      x-ibm-name: name
      contact:
        name: contact_name
    basePath: /
    x-ibm-configuration:
      properties:
        target-url:
          value: target_url
          description: url_description
          encoded: false
      cors:
        enabled: true
      gateway: datapower-api-gateway
      type: rest
      phase: realized
      enforced: true
      testable: true
      assembly:
        execute:
          - invoke:
              title: invoke
              version: 2.0.0
              verb: keep
              target-url: $(target-url)$(request.path)$(request.search)
              follow-redirects: false
              timeout: 60
              parameter-control:
                type: allowlist
                values: []
              header-control:
                type: blocklist
                values: []
              inject-proxy-headers: true
              persistent-connection: true
          - log:
              version: 2.1.0
              title: log
              log-level: default
              mode: gather-only
          - set-variable:
              version: 2.0.0
              title: set-variable
              actions:
                - set: log.custom_data.discoveryServiceCollection
                  value: 'true'
                  type: string
              description: Setting specific collector key
          - set-variable:
              version: 2.0.0
              title: set-variable
              actions:
                - set: log.custom_data.apiTargetURL
                  value: $(target-url)
                  type: string
              description: Setting specific collector target URL
        catch: []
        finally: []
      activity-log:
        enabled: true
        success-content: payload
        error-content: payload
      catalogs: {}
      buffering: true
    paths:
      /{+pathparam}:
        get:
          responses:
            '200':
              description: success
              schema:
                type: string
          consumes: []
          produces: []
        post:
          responses:
            '201':
              description: success
              schema:
                type: string
          consumes: []
          produces: []
        put:
          responses:
            '201':
              description: success
              schema:
                type: string
        patch:
          responses:
            '200':
              description: success
              schema:
                type: string
          consumes: []
          produces: []
        delete:
          responses:
            '204':
              description: success
              schema:
                type: string
          consumes: []
          produces: []
        parameters:
          - name: +pathparam
            in: path
            required: true
            type: string
    schemes:
      - https
    
    Em que:
    • version é o número da versão da API..
    • title é o título da API. Por exemplo, My proxy API.
    • name é o nome da API. O valor do campo name deve ser uma sequência única que possa ser usada para identificar a API em comandos, por exemplo my-proxy-api.
    • contact_name é o nome de um contato da API.
    • target_url é o ponto de extremidade URL do serviço REST existente que você deseja expor. Por exemplo, https://myorg.com/api/.
    • url_description é uma descrição do alvo URL.
    • $(target-url)$(request.path)$(request.search) é uma política do invoke que permite que caminhos e parâmetros curinga sejam transmitidos após o terminal target_url do serviço REST existente Sufixar o $(target-url) com $(request.path)$(request.search)significa que qualquer número (1-n) de caminhos de solicitação e qualquer número (1-n) de parâmetros de caminho que são chamados pelos usuários da API, são capturados e processados pelo coletor de descoberta, independentemente deles não estarem explicitamente definidos na definição de esquema do proxy OpenAPI .
    • log é uma política do log que permite que um log customizado seja incluído
    • set-variable são políticas set-variable que definem uma chave de coletor específica chamada discoveryServiceCollection e um alvo de coletor específico URL chamado apiTargetURL. O coletor usa a chave discoveryServiceCollection para filtrar dados de análise de dados para eventos que estão associados à definição de API de proxy e o apiTargetURL para filtrar as chamadas duplicadas de diferentes origens de dados
    • activity-log é uma política activity-log que decide o quão completa a reconstrução do OpenAPI descoberta está. Configurar os campos success-content e error-content para payload fornece ao coletor dados suficientes para assegurar que os esquemas de solicitação e resposta possam ser criados corretamente. Você também pode definir esses campos como dados activity ou header , o que, em ambos os casos, significa que menos da estrutura OpenAPI pode ser descoberta. Observe que o coletor não olha para os valores de carga útil e esses valores são editados antes de serem enviados do coletor para o recurso de descoberta
    • paths é definido como um valor curinga, por exemplo, {+pathparam}, para garantir que haja o intervalo máximo de caminhos detectáveis disponíveis na API do proxy. A seção paths.parameters deve ser definida com o mesmo valor. Na propriedade paths:/{+pathparam} , os métodos stub para get, post, patch, pute delete podem ser incluídos para fornecer o máximo de alcance por meio do proxy para todas as operações que podem ser descobertas.
  2. Efetue login em sua organização do provedor na UI do API Manager .
  3. No painel de navegação, clique em Desenvolver ícone na área de janela de navegação da UI da API Desenvolvimento e, em seguida, clique em Adicionar > API.
    A tela Selecionar tipo de API é exibida.
  4. Na seção Importar, selecione OpenAPI existente, então clique Próximo.
  5. Escolha um dos métodos a seguir para selecionar seu arquivo YAML:
    • Arraste o arquivo.
    • Procure o arquivo.
    • Especifique o endereço URL do arquivo.
    O assistente verifica a validade do YAML e exibe uma mensagem indicando uma validação bem-sucedida.
  6. Clique em Avançar para importar o arquivo selecionado.
    Um resumo da importação confirma que uma definição de API foi criada
  7. Clique em Editar API.
    A sua definição de API é aberta na guia Design
  8. Clique na guia Teste para começar a fazer suas descobertas de API.
    Você usa o campo Solicitação para localizar o seu tráfego de API passando os métodos GET, POST, PATCH, PUTe DELETE por meio da API de proxy Por exemplo:
    GET https://myorg.com:9443/test/sandbox/users
    Retorna uma lista de usuários.
    Draft comment: jendavidse@uk.ibm.com
    Need some good examples here please :)
    Após o tráfego da API ser localizado, o coletor de proxy do DataPower API Gateway se torna disponível no recurso de descoberta de API
  9. Na interface do usuário do API Manager, clique no ícone Descobrir e, O ícone de descoberta é o contorno de um par de binóculos em branco sobre um fundo preto. em seguida, clique na guia Fontes para visualizar seu DataPower API Gateway coletor proxy.
    As origens podem ter o status a seguir:
    • Ativado -a origem é ativada, e sincroniza com o coletor de acordo com sua configuração
    • Desativado -a origem é desativada e API ConnectAI Gateway não aceitará nenhum arquivo do coletor. Esse status será configurado pelo serviço de descoberta se uma operação de descoberta falhar
    • Mau Funcionamento -o coletor de origem está indisponível
    • Pausado -a origem é pausada e o API ConnectAI Gateway não aceitará nenhum arquivo do coletor
  10. Opcional: você pode clicar no ícone "Opções O ícone de opções é um conjunto de três pontos pretos verticais em um fundo branco. " ao lado de uma fonte para alterar seu status.
    • Pause collector -para pausar a origem.
    • Excluir coletor -para excluir a origem da IU do API Manager . Os arquivos de origem externos não são excluídos
    • Retome o coletor -para reiniciar uma origem pausada ou desativada
  11. Opcional: você pode clicar no ícone “Gerenciar O ícone gerenciar colunas é um contorno de uma roda em preto sobre um fundo branco. colunas” no cabeçalho da tabela para alterar a ordem e a exibição das colunas.

Resultados

Seu coletor de origem de dados do proxy do DataPower API Gateway agora está pronto para a descoberta de tráfego de API O coletor posta atualizações para o API ConnectAI Gateway quando uma solicitação manual para teste é feita ou quando a API de proxy é fornecida para os usuários, para interagir com os aplicativos que estão acessíveis nos caminhos que estão disponíveis atrás do target_url do proxy. Toda vez que uma definição de API é descoberta e processada, o campo Última execução da origem de dados é alterado para refletir a atividade

O quê fazer em seguida

É possível clicar na guia APIs na seção Descobrir da IU do API Manager e revisar o tráfego da API em seu coletor de origem de dados Para obter mais informações, consulte “Revisão das APIs detectadas ”.