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
- Portal de Azure: Inicia sesión en el Portal de Azure.
- Crear un recurso: Haz clic en "Crear un recurso" y selecciona "Función de Azure".
Paso 2: Configuración de la Función
- Nombre de la Función: Asigna un nombre único a tu función.
- Plan de Consumo: Selecciona el plan de consumo para la facturación basada en uso.
- Sistema Operativo: Elige el sistema operativo (Windows o Linux).
- Stack de Tiempo de Ejecución: Selecciona el lenguaje de programación (por ejemplo, C#, JavaScript, Python).
Paso 3: Desplegar la Función
- Desencadenador: Selecciona el tipo de desencadenador (por ejemplo, HTTP, Timer, Blob Storage).
- Código de la Función: Escribe el código de tu función en el editor proporcionado.
- 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
- Guardar: Guarda el código en el editor del portal de Azure.
- 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
- Objetivo: Crear una función que se ejecute cada 5 minutos y registre un mensaje en el log.
- 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.
- 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!
Curso de Azure
Módulo 1: Introducción a Azure
- ¿Qué es Azure?
- Configuración de la cuenta de Azure
- Descripción general del portal de Azure
- Administrador de recursos de Azure
Módulo 2: Servicios principales de Azure
- Máquinas virtuales de Azure
- Servicios de aplicaciones de Azure
- Almacenamiento de Azure
- Redes de Azure
Módulo 3: Bases de datos de Azure
- Base de datos SQL de Azure
- Azure Cosmos DB
- Base de datos de Azure para MySQL
- Base de datos de Azure para PostgreSQL
Módulo 4: Seguridad en Azure
- Gestión de identidad y acceso de Azure
- Centro de seguridad de Azure
- Azure Key Vault
- Protección DDoS de Azure
Módulo 5: Azure DevOps
Módulo 6: Servicios avanzados de Azure
- Servicio de Kubernetes de Azure (AKS)
- Funciones de Azure
- Aplicaciones lógicas de Azure
- Servicios cognitivos de Azure
Módulo 7: Monitoreo y gestión
- Monitor de Azure
- Análisis de registros de Azure
- Información de aplicaciones de Azure
- Automatización de Azure