Introducció
Les Funcions d'Azure són una solució de computació sense servidor que permet executar codi sense haver de gestionar explícitament la infraestructura. Aquest servei és ideal per a tasques que es poden descompondre en funcions petites i independents, com ara processament de dades, integració de sistemes i automatització de fluxos de treball.
Conceptes Clau
- Computació sense servidor (Serverless): Model de computació on el proveïdor de serveis en núvol gestiona automàticament la infraestructura necessària per executar el codi.
- Funcions: Unitats de codi que s'executen en resposta a esdeveniments.
- Triggers: Esdeveniments que desencadenen l'execució d'una funció.
- Bindings: Maneres de connectar les funcions a altres serveis d'Azure o recursos externs.
Avantatges de les Funcions d'Azure
- Escalabilitat automàtica: Les funcions s'escalen automàticament en funció de la demanda.
- Pagament per ús: Només es paga pel temps d'execució del codi.
- Integració fàcil: Suport per a múltiples llenguatges de programació i integració amb altres serveis d'Azure.
Creació d'una Funció d'Azure
Pas 1: Configuració del Projecte
- Inicia sessió al portal d'Azure.
- Crea un nou recurs: Selecciona "Crear un recurs" i busca "Funció d'Azure".
- Configura el recurs: Proporciona un nom, selecciona una subscripció, crea o selecciona un grup de recursos i tria un pla de consum.
Pas 2: Creació de la Funció
- Selecciona el tipus de funció: Pots triar entre diversos tipus de triggers, com ara HTTP, Timer, Blob Storage, etc.
- Configura el trigger: Proporciona els detalls necessaris per al trigger seleccionat.
Pas 3: Escriure el Codi de la Funció
A continuació, es mostra un exemple d'una funció HTTP en C#:
using System.IO; using Microsoft.AspNetCore.Mvc; using Microsoft.Azure.WebJobs; using Microsoft.Azure.WebJobs.Extensions.Http; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using Newtonsoft.Json; public static class HttpExample { [FunctionName("HttpExample")] public static async Task<IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ILogger log) { log.LogInformation("C# HTTP trigger function processed a request."); string name = req.Query["name"]; string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); dynamic data = JsonConvert.DeserializeObject(requestBody); name = name ?? data?.name; return name != null ? (ActionResult)new OkObjectResult($"Hello, {name}") : new BadRequestObjectResult("Please pass a name on the query string or in the request body"); } }
Pas 4: Desplegament i Prova
- Desplega la funció: Pots desplegar la funció directament des del portal d'Azure o utilitzar eines com Visual Studio o Azure CLI.
- Prova la funció: Utilitza el portal d'Azure per provar la funció o envia una sol·licitud HTTP des d'una eina com Postman.
Exercici Pràctic
Objectiu
Crear una funció d'Azure que processi una sol·licitud HTTP i retorni un missatge personalitzat.
Instruccions
- Crea un nou recurs de Funció d'Azure al portal d'Azure.
- Configura un trigger HTTP per a la funció.
- Escriu el codi de la funció per processar la sol·licitud HTTP i retornar un missatge personalitzat.
- Desplega i prova la funció utilitzant el portal d'Azure o una eina com Postman.
Solució
El codi de la funció pot ser similar a l'exemple proporcionat anteriorment. Assegura't de seguir els passos per configurar el recurs i el trigger correctament.
Errors Comuns i Consells
-
Error: No es pot trobar el trigger especificat.
- Solució: Assegura't que el trigger estigui configurat correctament i que el codi de la funció estigui ben escrit.
-
Error: La funció no es desplega correctament.
- Solució: Revisa els logs de desplegament per identificar i corregir qualsevol error.
-
Consell: Utilitza les eines de monitoratge d'Azure per supervisar el rendiment de les teves funcions i optimitzar-les segons sigui necessari.
Resum
En aquesta secció, hem après què són les Funcions d'Azure, els seus avantatges i com crear i desplegar una funció bàsica. Les Funcions d'Azure són una eina poderosa per a la computació sense servidor, permetent als desenvolupadors centrar-se en el codi sense preocupar-se per la gestió de la infraestructura.
Curs d'Azure
Mòdul 1: Introducció a Azure
- Què és Azure?
- Configuració del compte d'Azure
- Visió general del portal d'Azure
- Gestor de recursos d'Azure
Mòdul 2: Serveis bàsics d'Azure
Mòdul 3: Bases de dades d'Azure
- Base de dades SQL d'Azure
- Azure Cosmos DB
- Base de dades d'Azure per a MySQL
- Base de dades d'Azure per a PostgreSQL
Mòdul 4: Seguretat d'Azure
- Gestió d'identitat i accés d'Azure
- Centre de seguretat d'Azure
- Azure Key Vault
- Protecció DDoS d'Azure
Mòdul 5: Azure DevOps
Mòdul 6: Serveis avançats d'Azure
- Servei de Kubernetes d'Azure (AKS)
- Funcions d'Azure
- Aplicacions lògiques d'Azure
- Serveis cognitius d'Azure
Mòdul 7: Monitoratge i gestió
- Monitor d'Azure
- Anàlisi de registres d'Azure
- Informació d'aplicacions d'Azure
- Automatització d'Azure