Le site extension delle Web App di Azure sono, per l'appunto, componenti aggiuntivi che consentono di estendere la funzionalità di un'applicazione web. Queste estensioni possono essere utilizzate per vari scopi, come l'aggiunta di strumenti di gestione o di monitoraggio, l'implementazione di nuove funzionalità o l'aggiunta di supporto per nuovi linguaggi di programmazione (per esempio, il supporto in preview agli SDK di .NET). Le estensioni sono installabili direttamente dal portale di Azure o, meglio, tramite le API Kudu.
Per noi è particolarmente importante che ci siano delle API per installare le estensioni, perché ci permette di automatizzare il processo di installazione delle estensioni stesse. In particolare, ci permette di installare le estensioni in fase di rilascio, in modo da avere un processo di rilascio completamente automatizzato. Vediamone un esempio:
IFS=',' read -ra extension_array <<< "${{ parameters.extensionNames }}" for extension in "${extension_array[@]}"; do if [ -n "$extension" ]; then url="/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Web/sites/<site>/siteExtensions/$extension?api-version=2023-01-01" echo "Installing extension $extension..." az rest --method put --uri $url --body "{\"id\": \"$extension\"}" fi done
In questo esempio abbiamo dato per assodato che le estensioni arrivino già scritte all'interno di un parametro chiamato extensionNames, dove le estensioni possono essere una o più, separate da virgola. Di fatto, andiamo a scorrere tutto l'elenco delle estensioni che si vuole installare e si fa una semplice chiamata API sfruttando la CLI di Azure (che prevede il fatto che siamo già autenticati). Se l'estensione di riferimento è già installata, verrà eventualmente aggiornata.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Potenziare la ricerca su Cosmos DB con Full Text Search
Simulare Azure Cosmos DB in locale con Docker
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Eseguire script pre e post esecuzione di un workflow di GitHub
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Supportare la sessione affinity di Azure App Service con Application Gateway
Usare il colore CSS per migliorare lo stile della pagina
Utilizzare WhenEach per processare i risultati di una lista di task
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Escludere alcuni file da GitHub Secret Scanning
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub