Controladores personalizados

Completado

Azure Functions presenta varios entornos de ejecución de lenguaje. Si el lenguaje de su elección no se proporciona de forma predeterminada, puede usar un controlador personalizado.

¿Qué son los controladores personalizados?

En esencia, un controlador personalizado es un servidor web. El servidor web recibe eventos del host de Functions. A continuación, tiene la oportunidad de escribir código en su lenguaje preferido para responder a los eventos.

Con los controladores personalizados, puede usar cualquier lenguaje que admita primitivas HTTP. Puede ser prácticamente cualquier lenguaje.

Conceptos importantes y flujo

Azure Functions presenta tres conceptos centrales que es importante comprender:

  • Desencadenadores. Un desencadenador es un evento que comienza a ejecutar una función. Algunos ejemplos de desencadenadores comunes son las solicitudes HTTP, los nuevos mensajes de cola y los cambios en una base de datos. Es importante seleccionar el desencadenador adecuado para decidir cómo se ejecuta la función.
  • Enlaces. Los enlaces son código auxiliar que conecta la función a otro servicio en la nube. Los enlaces de entrada y salida están disponibles para pasar datos dentro y fuera de la función.
  • Host de Functions. El host de Functions controla el flujo de eventos de la aplicación. A medida que el host captura eventos, invoca el controlador y es responsable de devolver la respuesta de una función.

Este es el aspecto del flujo de principio a fin:

Diagram that shows an overview of custom handlers.

Las siguientes acciones describen cómo se procesa una solicitud a través del host de Functions y un controlador personalizado:

  1. Cuando se produce un evento que coincide con un desencadenador (por ejemplo, una solicitud HTTP), se envía una solicitud al host de Functions.
  2. El host de Functions crea una carga de solicitud y la envía al servidor web (controlador personalizado). La carga contiene información sobre el desencadenador, los datos de enlace de entrada y otros metadatos.
  3. La función ejecuta la lógica y se devuelve una respuesta al host de Functions.
  4. El host de Functions pasa los datos salientes al enlace de salida de una función para su procesamiento.