Configuración de un recopilador de proxy de DataPower API Gateway para el descubrimiento de API

Cómo añadir un recopilador de orígenes de datos de proxy de DataPower® API Gateway a la prestación Descubrimiento de API .

Antes de empezar

Antes de que un recopilador de proxy de Descubrimiento de API DataPower API Gateway pueda recopilar datos de una organización de proveedores, primero debe habilitar el uso compartido de los datos analíticos de la organización de proveedores; consulte Compartición de datos analíticos para Descubrimiento de API.

Se necesita uno de los siguientes roles de organización de proveedores para poder gestionar orígenes:
  • Administrador de la organización
  • Propietario (Owner)
  • Rol personalizado con el permiso Settings: Manage .

Acerca de esta tarea

El descubrimiento de API es un complemento de IBM® API Connect que se puede utilizar para descubrir y añadir API al proceso de desarrollo de API. Para poder descubrir cualquier API, debe configurar uno o más recopiladores de orígenes de datos. A continuación, estos recopiladores se añaden automáticamente a la pestaña Orígenes en la interfaz de usuario de API Manager cuando el recopilador envía los primeros documentos de OpenAPI a la organización de proveedores.

Para configurar un recopilador de proxy de descubrimiento de API DataPower API Gateway , puede crear una definición de API de proxy, o actualizar una API de proxy existente, en la organización de proveedores en API Connect. Esta API de proxy nueva o existente contendrá el punto final de un servicio REST existente que desea utilizar para descubrir documentos de OpenAPI . A continuación, los documentos OpenAPI descubiertos se pueden copiar en borradores de API según sea necesario, para habilitar la gestión de ciclo de vida completo en Gestor de API. Si está actualizando una definición de API de proxy existente, los campos mínimos necesarios para que se produzca la recopilación son la inclusión del segmento invoke policy log y ambos segmentos set-variable , que se muestran en el ejemplo YAML en el paso 1.

Procedimiento

Para configurar un recopilador de proxy de DataPower API Gateway utilizando la interfaz de usuario de API Manager , realice los pasos siguientes. También puede utilizar la CLI del kit de herramientas para crear la definición de la API de proxy. Para obtener información general sobre cómo utilizar el conjunto de herramientas CLI, consulte Descripción general de la herramienta de línea de comandos.
  1. Cree un archivo YAML para la definición de la API de proxy, como en el ejemplo siguiente:
    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
    
    Donde:
    • version es el número de versión de la API.
    • title es el título de la API. Por ejemplo, My proxy API.
    • name es el nombre de la API. El valor del campo name debe ser una sola serie que se pueda utilizar para identificar la API en los mandatos, por ejemplo, my-proxy-api.
    • contact_name es el nombre de un contacto para la API.
    • target_url es el extremo URL del servicio REST existente que desea exponer. Por ejemplo, https://myorg.com/api/.
    • url_description es una descripción del objetivo URL.
    • $(target-url)$(request.path)$(request.search) es una política de invoke que permite que se pasen vías de acceso y parámetros comodín después del punto final target_url del servicio REST existente. El sufijo de $(target-url) con $(request.path)$(request.search)significa que el recopilador de descubrimiento captura y procesa cualquier número (1-n) de vías de acceso de solicitud y cualquier número (1-n) de parámetros de vía de acceso invocados por los usuarios de la API, independientemente de que no se hayan definido explícitamente en la definición de esquema OpenAPI del proxy.
    • log es una política de log que permite añadir un registro personalizado.
    • set-variable son las políticas set-variable que establecen una clave de recopilador específica que se denomina discoveryServiceCollection, y un objetivo de recopilador específico URL denominado apiTargetURL. El recopilador utiliza la clave discoveryServiceCollection para filtrar datos de análisis para sucesos que están asociados con la definición de API de proxy, y el apiTargetURL para filtrar las invocaciones duplicadas de distintos orígenes de datos.
    • activity-log es una política de activity-log que decide cómo se completa la reconstrucción de OpenAPI descubierta. El establecimiento de los campos success-content y error-content en payload proporciona al recopilador suficientes datos para poder asegurarse de que los esquemas de solicitud y respuesta se pueden crear correctamente. También puede configurar estos campos con datos de activity o header , lo que en ambos casos significa que se puede descubrir una parte menor de la estructura OpenAPI. Tenga en cuenta que el recopilador no observa los valores de carga útil, y estos valores se redactan antes de enviarse desde el recopilador a la prestación de descubrimiento.
    • paths se establece en un valor comodín, por ejemplo {+pathparam}, para garantizar que existe el rango máximo de rutas detectables disponibles en la API del proxy. La sección paths.parameters debe definirse con el mismo valor. En la propiedad paths:/{+pathparam} , se pueden añadir métodos de apéndice para get, post, patch, puty delete para proporcionar el máximo alcance a través del proxy para todas las operaciones que se pueden descubrir.
  2. Inicie sesión en la organización de proveedores en la interfaz de usuario de API Manager .
  3. En el panel de navegación, haga clic en " Icono de desarrollo en el panel de navegación de la interfaz de usuario de la API " Desarrollar y, a continuación, haga clic en Añadir > API.
    Se visualizará la pantalla Seleccionar tipo de API.
  4. En la sección Importar, seleccione API abierta existente, luego haga clic Próximo.
  5. Elija uno de los métodos siguientes para seleccionar el archivo YAML:
    • Arrastre el archivo.
    • Busque el archivo.
    • Especifique la dirección URL del archivo.
    El asistente comprueba la validez de YAML y visualiza un mensaje que indica una validación satisfactoria.
  6. Haga clic en Siguiente para importar el archivo seleccionado.
    Un resumen de la importación confirma que se ha creado una definición de API.
  7. Pulse Editar API.
    La definición de API se abre en el separador Diseño .
  8. Pulse el separador Probar para empezar a realizar los descubrimientos de API.
    Utilice el campo Solicitud para buscar el tráfico de API pasando los métodos GET, POST, PATCH, PUTy DELETE a través de la API de proxy. Por ejemplo:
    GET https://myorg.com:9443/test/sandbox/users
    Devuelve una lista de usuarios.
    Después de encontrar el tráfico de API, el recopilador de proxy de DataPower API Gateway pasa a estar disponible en la prestación Descubrimiento de API .
  9. En la interfaz de usuario de API Manager, haga clic en el ic ono Descubrir El icono del descubrimiento es el contorno de un par de binoculares en blanco sobre un fondo negro. y, a continuación, haga clic en la pestaña Fuentes para ver su recopilador de proxy de DataPower API Gateway .
    Los orígenes pueden tener el estado siguiente:
    • Habilitado : el origen está habilitado y se sincroniza con el recopilador de acuerdo con su configuración.
    • Inhabilitado : el origen está inhabilitado y API Connect no aceptará ningún archivo del recopilador. Este estado lo establece el servicio de descubrimiento si falla una operación de descubrimiento.
    • No en buen estado : el recopilador de origen no está disponible.
    • En pausa : el origen está en pausa y API Connect no aceptará ningún archivo del recopilador.
  10. Opcional: Puede hacer clic en el icono Opciones ( El icono de opciones es un conjunto de tres puntos negros verticales sobre un fondo blanco. ) junto a una fuente para cambiar su estado
    • Detener recopilador : para poner en pausa el origen.
    • Suprimir recopilador : para suprimir el origen de la interfaz de usuario de API Manager . Los archivos de origen externos no se suprimen.
    • Reanudar recopilador : para reiniciar un origen en pausa o inhabilitado.
  11. Opcional: Puede hacer clic en el icono Gestionar columnas El icono Gestionar columnas es un contorno de una rueda en negro sobre un fondo blanco. en el encabezado de la tabla para cambiar el orden y la vista de las columnas

Resultados

El recopilador de orígenes de datos de proxy de DataPower API Gateway está ahora preparado para el descubrimiento de tráfico de API. El recopilador publica actualizaciones en API Connect cuando se realiza una solicitud manual de prueba, o cuando se proporciona la API de proxy a los usuarios, para interactuar con las aplicaciones a las que se puede acceder en las vías de acceso que están disponibles detrás del target_url del proxy. Cada vez que se descubre y procesa una definición de API, el campo Última ejecución del origen de datos se cambia para reflejar la actividad.

Qué hacer a continuación

Puede pulsar el separador API en la sección Descubrir de la interfaz de usuario de Gestor de API y revisar el tráfico de API en el recopilador de orígenes de datos. Para obtener más información, consulte Revisar sus API descubiertas.