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

  1. Inicia sessió al portal d'Azure.
  2. Crea un nou recurs: Selecciona "Crear un recurs" i busca "Funció d'Azure".
  3. 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ó

  1. Selecciona el tipus de funció: Pots triar entre diversos tipus de triggers, com ara HTTP, Timer, Blob Storage, etc.
  2. 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

  1. Desplega la funció: Pots desplegar la funció directament des del portal d'Azure o utilitzar eines com Visual Studio o Azure CLI.
  2. 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

  1. Crea un nou recurs de Funció d'Azure al portal d'Azure.
  2. Configura un trigger HTTP per a la funció.
  3. Escriu el codi de la funció per processar la sol·licitud HTTP i retornar un missatge personalitzat.
  4. 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.

© Copyright 2024. Tots els drets reservats