Del curso: .NET 7 esencial

Funciones de Azure Functions - Tutorial de .NET

Del curso: .NET 7 esencial

Funciones de Azure Functions

Azure Functions es la plataforma para la creación de funciones serverless en Azure. Podemos crear este tipo de aplicaciones directamente desde el portal de Azure. Aquí seleccioné esta plantilla en el Marketplace y, posteriormente, me va a solicitar una suscripción, un grupo de recursos, que previamente ya hice, posteriormente, el nombre de la aplicación, digamos, «net7-esencial». En realidad, no voy a desplegar este recurso, solamente quiero mostrarte por acá en la opción de Runtime stack, que si selecciono .NET, acá tenemos ya la opción de .NET 7. Claro está, esto es simplemente para aprovisionar el recurso de tipo Function App, pero del lado de nuestros equipos de cómputo, también podemos crear este tipo de funciones de Azure utilizando .NET 7. Vamos a abrir aquí la terminal. Aquí estoy ya en la terminal donde creé este folder llamado azure-functions, que está totalmente vacío en este momento, y lo que voy a hacer es ejecutar func, que es parte de las herramientas de desarrollo de Azure Functions, que también previamente instalé utilizando Chocolatey. Y aquí lo que voy a hacer es utilizar su comando init para indicar que quiero inicializar Azure Functions en este folder. Además, necesito utilizar la opción de worker-runtime con el valor de dotnet-isolated, ya que esta opción nos permite desacoplar el proceso de nuestras funciones del runtime de Azure Functions. Esto permite, justamente, utilizar .NET 7 o .NET 6 u otras tecnologías. Aquí lo que voy a hacer es indicar target-framework y le voy a pasar como valor net7.0 y esto sería todo para poder inicializar este proyecto de tipo Azure Functions utilizando las herramientas de línea de comandos de esta tecnología. Nota que me crea el archivo CSPROJ, además de Program.cs y algunos otros elementos y, específicamente, si vemos a azure-functions.csproj, podrás ver que, efectivamente, acá está el TargetFramework net7.0 además de que está referenciando algunos paquetes de NuGet y nociones propias de esta tecnología. Si te interesa este tema, aquí mismo, en la biblioteca de LinkedIn Learning, podrás encontrar cursos al respecto. Muy bien, entonces ya tengo el proyecto. Ahora, lo que quiero hacer es crear mi primera función. Vamos a escribir func new y le voy a pasar como nombre algo así como MyFunction o algo así, en realidad el nombre no importa en este momento. Quiero utilizar el template de HTTP trigger, ya que las funciones de Azure Functions se disparan a través de triggers. En este caso, va a ser a través de un request a través del protocolo HTTP. Muy bien, entonces esto va a hacer que se genere esta función, aquí va a tardar un momento, y, posteriormente, esta función es creada. Vemos que, efectivamente, está MyFunction.cs aquí. Vamos a abrir Visual Studio Code para poder visualizar este código y aquí lo que voy a hacer es seleccionar MyFunction para que veamos que, efectivamente, es una clase que tiene este constructor y, además, está utilizando este HttpTrigger, que es parte de toda la serie de triggers que tiene Azure Functions, y una información que ya trae aquí la plantilla. Muy bien, vámonos de regreso aquí a la terminal porque lo que quiero hacer es ejecutar la función. Esto lo voy a lograr a través de func start para que esta función se compile y después se ejecute. Aquí, esto lo está haciendo y aquí ya me está diciendo que, efectivamente, MyFunction está disponible en este endpoint, cosa que voy a seleccionar aquí y voy a hacer clic y por acá ya tengo este navegador, donde pues estoy viendo el resultado de la ejecución de esta función que se implementó un «Hola mundo». Me está regresando «Welcome to Azure Functions!». Muy bien, entonces con esto pudimos corroborar que podemos utilizar .NET 7 como plataforma de desarrollo para construir Azure Functions.

Contenido