Conceptos Básicos de las funciones de Azure

Azure Functions es un servicio de cómputo sin servidor que le permite ejecutar código bajo demanda sin tener que aprovisionar o administrar infraestructura explícitamente.
Estas funciones de Azure son una solución para ejecutar fácilmente pequeños fragmentos de código o “funciones” en la nube. Puede escribir solo el código que necesita para el problema en cuestión, sin preocuparse por una aplicación completa o la infraestructura para ejecutarlo.
Estas funciones aumentan la producción en el desarrollo, y puede usar su lenguaje de desarrollo preferido, como C #, F #, Node.js, Java o PHP.
Para poder crear funciones de Azure además de tener la suscripción creada hay que seleccionar un plan de pago en el que para este tipo de servicios se paga solo por el tiempo que su código se ejecute. Esto permite desarrollar aplicaciones sin servidor en Microsoft Azure.

Estas son algunas de las características clave de Funciones:

Elección del idioma: escriba funciones usando su elección de C #, F # o Javascript.
Modelo de precios de pago por uso: pague solo por el tiempo dedicado a ejecutar su código.
Traiga sus propias dependencias: Functions admite NuGet y NPM, para que pueda usar sus bibliotecas favoritas.
Seguridad integrada: proteja las funciones activadas por HTTP con proveedores de OAuth como Azure Active Directory, Facebook, Google, Twitter y Microsoft Account.
Integración simplificada: aproveche fácilmente los servicios de Azure y las ofertas de software como servicio (SaaS).
Código abierto: el tiempo de ejecución de Funciones es de código abierto y está en GitHub.

¿Qué puedo hacer con las funciones de azure?

Funciones de Azure ofrece plantillas, estos serían dos ejemplos, pero hay muchas más, nosotros nos centraremos en la segunda:
Webhook genérico : procesar las solicitudes HTTP de webhook de cualquier servicio que admita webhooks.
TimerTrigger : ejecuta la limpieza u otras tareas por lotes en un horario predefinido. Para ver un ejemplo, consulte

¿Cuánto cuesta Funciones de Azure?

Azure Functions tiene dos tipos de planes de precios:
Plan de Consumo: cuando se ejecuta la función, Azure proporciona todos los recursos informáticos necesarios. Solo paga por el tiempo que haya empleado ejecutando el código.
Plan de App Service : se ejecutan las funciones igual que aplicaciones web, móviles y de API. Cuando ya se usa App Service para las otras aplicaciones, las funciones pueden ejecutarse en el mismo plan.

Ejemplo de creación de una Funcion Timer en Azure

Nuestro ejercicio se va a basar en el TimerTrigger, esta función de Azure tendrá una llamada mediante un temporizador de un minuto (que se lo especificamos nosotros mediante una expresion CRON) y atacara a una base de datos cada vez que es llamada.
Como requisitos previos debemos tener una cuenta en Azure y una cuenta Azure Storage para poder trabajar.
En este ejemplo vamos a aprender desde el portal de Azure, también se podrían crear con Visual Studio.

• Entramos en nuestra cuenta de azure y en la parte superior izquierda le pulsamos a crear un recurso, dentro de estos seccionamos proceso y Function App

1

• Le ponemos un nombre único a nuestra función, la suscripción y el plan de hospedaje lo dejamos por defecto, ponemos nuestra ubicación.

– Si utilizamos el Plan de consumo, solamente se pagará por las peticiones a la función, es decir, solamente se pagará por cada ejecución de las funciones.

– Creamos un recurso o usamos uno ya creado y es fundamental tener creada una cuenta Azure storage para realizar este ejercicio.

2
Y lo creamos.

El TimeTrigger va a necesitar conexión a la bases de datos por lo que tenemos que añadirle la cadena de conexión (Se podría usar sin base de datos, esto se configura para este ejemplo).
Cada cierto tiempo se vaya insertando un usuario, todo ello desde el portal de azure donde crearemos la función y desde la bases de datos que tengo alojada en azure.

• Una vez creada la función nos vamos a instancias de función y configuramos la cadena de conexión para que apunte a la base de datos de azure.

3

• Nos metemos en configuración de la aplicación.

• En el apartado cadenas de conexión agregamos nuestra cadena de SQL de Azure.

a

• Obtenemos nuestra cadena de conexión de la base de datos

4

• En los campos señalados tenemos que poner nuestros datos de autenticación de SQL de nuestra base de datos:

5

• Una vez tengamos esto lo configuramos en nuestra función para que apunte a esta base de datos.

6

• El nombre puede ser el que queráis, yo la he llamado db_tutorial, que luego posteriormente llamaremos en el código de nuestra función, la cadena de conexión se oculta por seguridad y por ultimo seleccionamos SQL azure.
Y guardamos en la parte superior.

7

• Posteriormente, nos vamos otra vez a nuestra instancia de función y en Funciones pinchamos en el símbolo ‘+’ para configurar el desencadenante de la función.

8

• Nos aparece esta ventana para que elijamos Trigger que vamos a desarrollar posteriormente.
• En nuestro caso estamos trabajando con el Timer por lo que seleccionamos temporizador y crear esta función.
• Y elegiremos lenguaje CSharp.

(Se pueden crear funciones personalizadas pero nosotros la personalizaremos después en código).

• Aquí ya tendríamos creada nuestra función Timer Trigger. Que se ejecutaría cada 5 minutos por defecto y por el código se puede ver que cada 5 minutos nos muestra la hora actual.

9

• Vamos a cambiarle el tiempo para que sea cada minuto a través de una expresión CRON.

Son una especie de “Expresión regular” que proviene de Linux y nos marca la frecuencia en la que se ejecuta la función.
Nos vamos a integrar y lo ponemos cada minuto con la siguiente expresión.

10

Como se puede observar la función funciona correctamente:

11

Ahora lo que vamos a hacer es insertar un Usuario en la Base de datos cambiando el código de la función, para que inserte un usuario por minuto para que veáis el funcionamiento.
(Son muy útiles si queremos contar los registros de la base de datos cada cierto tiempo o limpiar ciertas cosas… etc)

• Ahora cambiaremos el código de la función para acceder a la base de datos.

– Tenemos que añadir las referencias para obtener la cadena de conexión y Data para poder hacer la consulta a la base de datos.

– Y los using respectivos para que funcione la Función como cliente y podamos acceder a la Base de datos.

12

• sustituimos el antiguo método Run que nos crea por defecto por este otro, porque lo que queremos es que inserte un usuario en la base de datos mediante ADO.NET.

13

Como se puede ver db_tutorial es como habíamos llamado a nuestra cadena de conexión con la que creamos posteriormente la conexión con Sqlconnection.

Al definir query es la consulta que vamos a hacer en la base de datos SQL que va a ser un Insert con todos sus campos que junto con la conexión mediante SqlCommand se ejecuta la consulta y se inserta la fila en la base de datos.

Esta sería la base de datos antes de ejecutar la función:

14

Ejecutamos la función:

15

Y finalmente comprobamos la base de datos.

16

Lo más importante es acordarse de parar la función para que no siga insertando datos que Azure cobra por este servicio y puede ser un problema que este siempre funcionado.

Autor/a: Alvaro Camarero Barrio
Curso: Microsoft MCSA Web Applications + Microsoft MCSD App Builder + Xamarin
Centro: Tajamar
Año académico: 2017-2018

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *