Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa guida introduttiva illustra come centralizzare e gestire le impostazioni dell'applicazione Funzioni di Azure all'esterno del codice usando Configurazione app di Azure. Con l'integrazione del provider di configurazione .NET, è possibile aggiungere Configurazione app come origine di configurazione aggiuntiva con poche semplici modifiche al codice.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. È possibile crearne uno gratuitamente.
- Un archivio di Configurazione app, come illustrato nell’esercitazione per la creazione di un archivio.
- Visual Studio con il carico di lavoro di sviluppo di Azure.
- Strumenti di Funzioni di Azure.
Aggiungere un valore chiave
Aggiungere il valore chiave seguente all’archivio di Configurazione app e lasciare Etichetta e Tipo di contenuto con i valori predefiniti. Per altre informazioni su come aggiungere valori chiave a un archivio usando il portale di Azure o l’interfaccia della riga di comando, andare a Creare un valore chiave.
| Chiave | valore |
|---|---|
| TestApp:Settings:Message | Dati di Configurazione app di Azure |
Creare un'app per le funzioni
Creare un'app di Funzioni di Azure usando Visual Studio selezionando il modello Funzioni di Azure (C#). Questo modello illustra come configurare le impostazioni essenziali per il progetto. Per istruzioni dettagliate, vedere Sviluppare Funzioni di Azure con Visual Studio.
Usare la tabella seguente come riferimento per i parametri chiave durante la creazione dell'app per le funzioni.
| Impostazione | valore |
|---|---|
| Funzioni ruolo di lavoro | .NET 8.0 isolato |
| Funzione | Trigger HTTP |
| Livello di autorizzazione | Anonimo |
Note
La configurazione app di Azure può essere usata con Azure Functions nel modello di lavoro isolato o nel modello in-process. Questa guida rapida utilizza il modello di lavoro isolato come esempio. È possibile trovare esempi di codice completi per entrambi i modelli nel repository GitHub di Azure App Configuration.
Connettersi a un archivio di Configurazione app
È possibile connettersi all'archivio di Configurazione app usando Microsoft Entra ID (scelta consigliata) o una stringa di connessione.
Fare clic con il pulsante destro del mouse sul progetto e scegliere Gestisci pacchetti NuGet. Nella scheda Sfoglia, cercare e aggiungere la versione stabile più recente dei pacchetti NuGet elencati qui di seguito nel progetto.
- Microsoft.Azure.AppConfiguration.Functions.Worker
- Azure.Identity
Aprire Program.cs e aggiornare il codice come indicato di seguito. Per aggiungere Configurazione app di Azure come origine di configurazione aggiuntiva, invocare il metodo
AddAzureAppConfiguration.Usare
DefaultAzureCredentialper eseguire l'autenticazione nell'archivio di Configurazione app. Seguire le istruzioni per assegnare le credenziali al ruolo Lettore dati di Configurazione app. Assicurarsi di consentire tempo sufficiente per la propagazione dell'autorizzazione prima di eseguire l'applicazione.using Azure.Identity; using Microsoft.Azure.Functions.Worker.Builder; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; var builder = FunctionsApplication.CreateBuilder(args); // Connect to Azure App Configuration builder.Configuration.AddAzureAppConfiguration(options => { Uri endpoint = new(Environment.GetEnvironmentVariable("AZURE_APPCONFIG_ENDPOINT") ?? throw new InvalidOperationException("The environment variable 'AZURE_APPCONFIG_ENDPOINT' is not set or is empty.")); options.Connect(endpoint, new DefaultAzureCredential()) // Load all keys that start with `TestApp:` and have no label .Select("TestApp:*"); });Aprire Function1.cs e aggiungere lo spazio dei nomi seguente.
using Microsoft.Extensions.Configuration;Aggiornare il costruttore per ottenere un'istanza di
IConfigurationtramite inserimento delle dipendenze.private readonly IConfiguration _configuration; private readonly ILogger<Function1> _logger; public Function1(IConfiguration configuration, ILogger<Function1> logger) { _configuration = configuration; _logger = logger; }Aggiornare il metodo
Runin modo da leggere i valori dalla configurazione.[Function("Function1")] public IActionResult Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req) { _logger.LogInformation("C# HTTP trigger function processed a request."); // Read configuration data string key = "TestApp:Settings:Message"; string? message = _configuration[key]; return new OkObjectResult(message ?? $"Please create a key-value with the key '{key}' in Azure App Configuration."); }
Testare la funzione in locale
Impostare la variabile di ambiente.
Impostare la variabile di ambiente denominata AZURE_APPCONFIG_ENDPOINT sull'endpoint dell'archivio di Configurazione app disponibile in Panoramica dello store nel portale di Azure.
Se si usa il prompt dei comandi di Windows, eseguire il comando seguente e riavviare il prompt per rendere effettiva la modifica:
setx AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"Se si usa PowerShell, eseguire il comando seguente:
$Env:AZURE_APPCONFIG_ENDPOINT = "<endpoint-of-your-app-configuration-store>"Se si usa macOS o Linux, eseguire il comando seguente:
export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'Premere F5 per testare la funzione. Se viene visualizzata, accettare la richiesta di Visual Studio di scaricare e installare gli strumenti dell'interfaccia della riga di comando Azure Functions Core Tools. Potrebbe essere necessario anche abilitare un'eccezione del firewall per consentire agli strumenti di gestire le richieste HTTP.
Copiare l'URL della funzione dall'output di runtime di Funzioni di Azure.
Incollare l'URL per la richiesta HTTP nella barra degli indirizzi del browser. L'immagine seguente mostra la risposta nel browser alla richiesta GET locale restituita dalla funzione.
Gestire i parametri di attivazione con i riferimenti a App Configuration
I trigger di Funzioni di Azure definiscono il modo in cui viene richiamata una funzione. Gli attributi del trigger, ad esempio i nomi delle code o i nomi di database, vengono caricati in fase di avvio dell'host e non possono recuperare direttamente i valori da Configurazione app di Azure. Per gestire questi parametri, è possibile usare la funzionalità di riferimento di Configurazione app disponibile per Funzioni di Azure e servizio app.
La funzionalità di riferimento di Configurazione app consente di fare riferimento ai valori chiave archiviati in Configurazione app di Azure direttamente dalle impostazioni dell'applicazione. Funzioni di Azure risolve questi riferimenti all'avvio, consentendo di gestire i parametri di trigger in modo centralizzato e sicuro.
Si consideri, ad esempio, un'app per le funzioni attivata dalla coda. Anziché specificare il nome della coda direttamente nell'attributo trigger, è possibile fare riferimento a un valore chiave archiviato in Configurazione app di Azure.
Nell'archivio di Configurazione app di Azure aggiungere un valore chiave per il nome della coda:
Chiave valore TestApp:Storage:QueueName <Nome della coda nell'account di archiviazione> Nell'app per le funzioni selezionare Impostazioni ->Variabili di ambiente -> nel portale di Azure e creare un'impostazione dell'applicazione che faccia riferimento alla chiave di Configurazione app:
Nome valore MyQueueName @Microsoft.AppConfiguration(Endpoint=<your-store-endpoint>; Key=TestApp:Storage:QueueName)Suggerimento
Se disponi di più valori chiave in Azure App Configuration, puoi esportarli in batch come riferimenti di App Configuration verso Azure Functions utilizzando il portale di Azure o la CLI.
Abilitare l’identità gestita per l’app Funzioni di Azure e assegnargli il ruolo Lettore dati di Configurazione app per l’archivio per l’archivio di Configurazione app. Per istruzioni dettagliate sulla configurazione dei riferimenti a Configurazione app, vedere Usare i riferimenti a Configurazione app in Servizio app e Funzioni di Azure.
Aggiornare la funzione attivata dalla coda per usare l'impostazione dell'applicazione:
[Function("QueueTriggeredFunction")] public void Run([QueueTrigger(queueName: "%MyQueueName%")] QueueMessage message) { _logger.LogInformation($"C# Queue trigger function processed: {message.MessageText}"); }In tempo di esecuzione, Azure Functions sostituisce il segnaposto
%MyQueueName%con il valore archiviato in Azure App Configuration, permettendo di gestire i parametri del trigger centralmente senza inserirli direttamente nel codice della funzione.
Pulire le risorse
Se non si vuole continuare a usare le risorse create in questo articolo, eliminare il gruppo di risorse creato qui per evitare addebiti.
Importante
L'eliminazione di un gruppo di risorse è irreversibile. Il gruppo di risorse e tutte le risorse in esso contenute vengono eliminati in modo permanente. Assicurarsi di non eliminare accidentalmente il gruppo di risorse o le risorse sbagliate. Se le risorse per questo articolo sono state create in un gruppo di risorse che contiene altre risorse che si vogliono mantenere, eliminare ogni risorsa singolarmente dal rispettivo riquadro anziché eliminare il gruppo di risorse.
- Accedere al portale di Azure e selezionare Gruppi di risorse.
- Nella casella Filtra per nome immettere il nome del gruppo di risorse.
- Nell'elenco dei risultati selezionare il nome del gruppo di risorse per visualizzare una panoramica.
- Selezionare Elimina gruppo di risorse.
- Verrà chiesto di confermare l'eliminazione del gruppo di risorse. Immettere il nome del gruppo di risorse per confermare e selezionare Elimina.
Dopo qualche istante, il gruppo di risorse e tutte le risorse che contiene vengono eliminati.
Passaggi successivi
In questo avvio rapido è stata eseguita l’integrazione di Configurazione app di Azure con un’app Funzioni di Azure. Per informazioni su come abilitare l’app per le funzioni per aggiornare dinamicamente le impostazioni di configurazione, continuare con l’esercitazione successiva.
Per imparare a utilizzare i flag di funzionalità di Azure App Configuration all'interno della tua app Azure Functions, procedi con il seguente tutorial.
Per sapere come utilizzare un'identità gestita di Azure per semplificare l'accesso alla configurazione dell'app, procedere con il tutorial successivo.