Introducción

Las Funciones de Azure (Azure Functions) son una solución de computación sin servidor que permite ejecutar pequeños fragmentos de código o "funciones" en la nube sin necesidad de gestionar la infraestructura del servidor. Este servicio es ideal para tareas automatizadas, procesamiento de datos en tiempo real, y la creación de APIs.

Objetivos del Módulo

  • Comprender qué son las Funciones de Azure y sus casos de uso.
  • Aprender a crear y desplegar una Función de Azure.
  • Conocer los diferentes tipos de desencadenadores y enlaces.
  • Implementar una Función de Azure con ejemplos prácticos.
  • Realizar ejercicios para reforzar los conceptos aprendidos.

¿Qué son las Funciones de Azure?

Las Funciones de Azure permiten ejecutar código en respuesta a eventos sin necesidad de aprovisionar o gestionar servidores. Son altamente escalables y se facturan en función del tiempo de ejecución y los recursos consumidos.

Características Clave

  • Sin servidor: No es necesario gestionar la infraestructura.
  • Escalabilidad automática: Se ajusta automáticamente a la carga de trabajo.
  • Facturación basada en consumo: Solo pagas por el tiempo de ejecución y los recursos utilizados.
  • Integración con otros servicios de Azure: Fácil integración con servicios como Azure Storage, Event Hubs, y más.

Creación de una Función de Azure

Paso 1: Configuración del Entorno

  1. Portal de Azure: Inicia sesión en el Portal de Azure.
  2. Crear un recurso: Haz clic en "Crear un recurso" y selecciona "Función de Azure".

Paso 2: Configuración de la Función

  1. Nombre de la Función: Asigna un nombre único a tu función.
  2. Plan de Consumo: Selecciona el plan de consumo para la facturación basada en uso.
  3. Sistema Operativo: Elige el sistema operativo (Windows o Linux).
  4. Stack de Tiempo de Ejecución: Selecciona el lenguaje de programación (por ejemplo, C#, JavaScript, Python).

Paso 3: Desplegar la Función

  1. Desencadenador: Selecciona el tipo de desencadenador (por ejemplo, HTTP, Timer, Blob Storage).
  2. Código de la Función: Escribe el código de tu función en el editor proporcionado.
  3. Guardar y Ejecutar: Guarda la función y ejecútala para probar su funcionamiento.

Tipos de Desencadenadores y Enlaces

Desencadenadores

Los desencadenadores son eventos que inician la ejecución de una función. Algunos de los desencadenadores más comunes son:

  • HTTP Trigger: Ejecuta la función en respuesta a una solicitud HTTP.
  • Timer Trigger: Ejecuta la función en intervalos de tiempo específicos.
  • Blob Trigger: Ejecuta la función cuando se crea o actualiza un blob en Azure Storage.

Enlaces

Los enlaces permiten conectar la función con otros servicios de Azure. Pueden ser de entrada o salida:

  • Entrada: Datos que la función necesita para ejecutarse.
  • Salida: Datos que la función genera y envía a otros servicios.

Ejemplo Práctico: Función HTTP Trigger

Código de Ejemplo (JavaScript)

module.exports = async function (context, req) {
    context.log('JavaScript HTTP trigger function processed a request.');

    const name = (req.query.name || (req.body && req.body.name));
    const responseMessage = name
        ? "Hello, " + name + ". This HTTP triggered function executed successfully."
        : "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.";

    context.res = {
        // status: 200, /* Defaults to 200 */
        body: responseMessage
    };
}

Explicación del Código

  • module.exports: Exporta la función para que Azure Functions pueda ejecutarla.
  • context: Proporciona métodos y propiedades para interactuar con el entorno de ejecución.
  • req: Contiene la solicitud HTTP.
  • context.log: Registra mensajes en el log de la función.
  • context.res: Define la respuesta HTTP.

Desplegar y Probar

  1. Guardar: Guarda el código en el editor del portal de Azure.
  2. Probar: Usa la URL proporcionada para enviar una solicitud HTTP y ver la respuesta.

Ejercicio Práctico

Ejercicio 1: Crear una Función con Timer Trigger

  1. Objetivo: Crear una función que se ejecute cada 5 minutos y registre un mensaje en el log.
  2. Pasos:
    • Crear una nueva Función de Azure con un Timer Trigger.
    • Configurar el cronograma para que se ejecute cada 5 minutos (0 */5 * * * *).
    • Escribir el código para registrar un mensaje en el log.
  3. Código de Ejemplo (JavaScript):
module.exports = async function (context, myTimer) {
    var timeStamp = new Date().toISOString();

    if (myTimer.isPastDue) {
        context.log('JavaScript is running late!');
    }
    context.log('JavaScript timer trigger function ran!', timeStamp);
};

Solución

  • Crear la Función: Sigue los pasos mencionados anteriormente para crear una función con Timer Trigger.
  • Configurar el Cronograma: Usa la expresión 0 */5 * * * * para ejecutar la función cada 5 minutos.
  • Escribir el Código: Usa el código de ejemplo proporcionado.

Conclusión

En este módulo, hemos aprendido qué son las Funciones de Azure, cómo crearlas y desplegarlas, y los diferentes tipos de desencadenadores y enlaces. También hemos implementado una función práctica y realizado un ejercicio para reforzar los conceptos aprendidos. En el siguiente módulo, exploraremos otros servicios avanzados de Azure.

Resumen

  • Funciones de Azure: Solución de computación sin servidor.
  • Desencadenadores: Eventos que inician la ejecución de una función.
  • Enlaces: Conectan la función con otros servicios de Azure.
  • Ejemplo Práctico: Implementación de una función con HTTP Trigger.
  • Ejercicio Práctico: Creación de una función con Timer Trigger.

¡Continúa con el siguiente módulo para seguir aprendiendo sobre los servicios avanzados de Azure!

© Copyright 2024. Todos los derechos reservados