Condividi tramite


Gestire l'app per le funzioni

In Funzioni di Azure un'app per le funzioni fornisce il contesto di esecuzione per le singole funzioni. I comportamenti dell'app per le funzioni si applicano a tutte le funzioni ospitate da un'app per le funzioni specifica. Tutte le funzioni in un'app per le funzioni devono condividere lo stesso linguaggio.

Le singole funzioni in un'app per le funzioni vengono distribuite insieme e vengono ridimensionate insieme. Tutte le funzioni nella stessa app per le funzioni condividono risorse, per istanza, mentre l'app per le funzioni viene ridimensionata.

Le stringhe di connessione, le variabili di ambiente e altre impostazioni dell'applicazione vengono definite separatamente per ogni app per le funzioni. Tutti i dati che devono essere condivisi tra le app per le funzioni devono essere archiviati esternamente in un archivio persistente.

Inizia nel portale di Azure

Nota

A causa delle limitazioni alla modifica del codice della funzione nel portale di Azure, è consigliabile sviluppare le funzioni in locale e pubblicare il progetto di codice in un'app per le funzioni in Azure. Per altre informazioni, vedere Limitazioni per lo sviluppo nel portale di Azure

Per visualizzare le impostazioni dell'app nell'app per le funzioni, seguire questa procedura:

  1. Accedere al portale di Azure con l'account di Azure. Cercare l'app per le funzioni e selezionarla.

  2. Nel riquadro sinistro dell'app per le funzioni, espandere Impostazioni, selezionare Variabili di ambiente e successivamente selezionare la scheda Impostazioni app.

    Screenshot che illustra come selezionare la pagina Impostazioni app in un'app per le funzioni.

Lavorare con le impostazioni dell'applicazione

Oltre alle impostazioni dell'app predefinite usate da Funzioni di Azure, è possibile creare un numero qualsiasi di impostazioni dell'app, come richiesto dal codice della funzione. Per maggiori informazioni, vedere Informazioni di riferimento sulle impostazioni dell'app per Funzioni di Azure.

Queste impostazioni vengono archiviate crittografate. Per maggiori informazioni, vedere Sicurezza delle impostazioni delle app.

È possibile gestire le impostazioni dell'app dal portale di Azure, usando l'interfaccia della riga di comando di Azure e Azure PowerShell. È anche possibile gestire le impostazioni delle app da Visual Studio Code e da Visual Studio.

Per visualizzare le impostazioni dell'app, andare su Informazioni di base sul portale di Azure.

La scheda Impostazioni app mantiene le impostazioni usate dall'app per le funzioni:

  1. Per visualizzare i valori delle impostazioni dell'app, selezionare Mostra valori.

  2. Per aggiungere un'impostazione, selezionare + Aggiungi e immettere il Nome e il Valore della nuova coppia chiave-valore.

    Screenshot che mostra la pagina Impostazioni app in un'app per le funzioni.

Usare le impostazioni dell'applicazione

I valori delle impostazioni dell'app di funzione possono anche essere letti nel codice come variabili di ambiente. Per maggiori informazioni, vedere la sezione Variabili di ambiente in questi articoli di riferimento specifici della lingua:

Quando si sviluppa un'app per le funzioni in locale, è necessario mantenere copie locali di questi valori nel file di progetto local.settings.json. Per maggiori informazioni, vedere File di impostazioni locali.

Impostazioni di distribuzione FTPS

Funzioni di Azure supporta la distribuzione del codice del progetto nell'app per le funzioni tramite FTPS. Questo metodo di distribuzione richiede la sincronizzazione dei trigger, pertanto non è consigliabile. Per trasferire in modo sicuro i file di progetto, usare sempre FTPS e non FTP.

Per ottenere le credenziali necessarie per la distribuzione FTPS, usare uno dei metodi seguenti:

È possibile ottenere le credenziali di pubblicazione FTPS nel portale di Azure scaricando il profilo di pubblicazione per l'app per le funzioni.

Importante

Il profilo di pubblicazione contiene credenziali di sicurezza importanti. Proteggere sempre il file scaricato nel computer locale.

Per scaricare il profilo di pubblicazione dell'app per le funzioni:

  1. Nella portale di Azure individuare la pagina per l'app per le funzioni, espandere Configurazione delle impostazioni>nella colonna a sinistra.

  2. Nella pagina Configurazione selezionare la scheda Impostazioni generali e assicurarsi che le credenziali di pubblicazione dell'autenticazione di base di SCM siano attivate. Quando questa impostazione è Disattivata, non è possibile usare i profili di pubblicazione, quindi selezionare e quindi Salva.

  3. Tornare alla pagina Panoramica dell'app per le funzioni e quindi selezionare Recupera profilo di pubblicazione.

    Scarica profilo di pubblicazione

  4. Salvare e copiare il contenuto del file.

  1. Nel file, individuare l'elemento publishProfile con l'attributo publishMethod="FTP". In questo elemento, gli attributi publishUrl, userName e userPWD contengono l'URL di destinazione e le credenziali per la pubblicazione FTPS.

Tipo di piano di hosting

Quando si crea un'app per le funzioni, si crea anche un piano di hosting in cui viene eseguita l'app. Un piano può avere una o più app per le funzioni. Le funzionalità, il ridimensionamento e i prezzi delle funzioni dipendono dal tipo di piano. Per altre informazioni, vedere Opzioni di hosting di Funzioni di Azure.

È possibile determinare il tipo di piano usato dall'app per le funzioni dal portale di Azure, oppure usando l'interfaccia della riga di comando di Azure o le API di Azure PowerShell.

I valori seguenti indicano il tipo di piano:

Tipo di piano Azure portal Interfaccia della riga di comando di Azure/PowerShell
Consumo Consumo Dynamic
Premium ElasticPremium ElasticPremium
Dedicato (servizio app) Varie Varie
  1. Per determinare il tipo di piano usato dall'app per le funzioni, vedere Piano di servizio app nella pagina Panoramica dell'app per le funzioni nel portale di Azure.

    Screenshot che mostra il collegamento Piano di servizio app nella pagina di Panoramica di un'app per le funzioni.

  2. Per visualizzare il piano tariffario, selezionare il nome del Piano di servizio app e quindi selezionare Impostazioni > Proprietà dal riquadro sinistro.

Migrazione a un altro piano

È possibile migrare un'app per le funzioni tra un piano A consumo e un piano Premium in Windows. Quando si esegue la migrazione tra piani, tenere presenti le considerazioni seguenti:

  • La migrazione diretta a un piano dedicato (servizio app) non è supportata.
  • Questa migrazione non è supportata in Linux.
  • Il piano di origine e il piano di destinazione devono trovarsi nello stesso gruppo di risorse e nella stessa area geografica. Per altre informazioni, vedere Move an app to another App Service plan (Spostare un'app in un altro piano di servizio app).
  • I comandi specifici dell’interfaccia della riga di comando dipendono dalla direzione della migrazione.
  • Il tempo di inattività nell’esecuzione delle funzioni si verifica quando viene eseguita la migrazione dell'app per le funzioni tra i piani.
  • Lo stato e altri contenuti specifici dell'app vengono mantenuti, perché la stessa condivisione di File di Azure viene usata dall'app sia prima che dopo la migrazione.

È possibile eseguire la migrazione del piano usando questi strumenti:

È possibile usare il portale di Azure per passare a un piano diverso.

Scegliere la direzione della migrazione per l'app in Windows.

  1. Nel portale di Azure, andare all'app piano A consumo e scegliere Cambia piano di servizio app in Piano di servizio app.

  2. Selezionare Premium in Tipo di piano, creare un nuovo piano Premium e selezionare OK.

Per altre informazioni, vedere Move an app to another App Service plan (Spostare un'app in un altro piano di servizio app).

Limitazioni di sviluppo nel portale di Azure

Quando si sviluppano le funzioni nel portale di Azure, tenere presenti queste limitazioni:

  • La modifica nel portale è supportata solo per le funzioni create o modificate per l'ultima volta nel portale di Azure.
  • La modifica nel portale è supportata solo per le funzioni JavaScript, PowerShell, Python, e C# Script.
  • La modifica nel portale non è supportata nella versione di anteprima del piano A consumo Flex.
  • Quando si implementa il codice in un'app per le funzioni dall'esterno del portale di Azure, non è più possibile modificare alcun codice per tale app per le funzioni nel portale. In questo caso, continuare a usare lo sviluppo locale.
  • Per Python, lo sviluppo con moduli personalizzati non è attualmente supportato nel portale. Per aggiungere moduli personalizzati all'app per le funzioni, è necessario sviluppare l'app in locale.
  • Per le funzioni C# e Java compilate, è possibile creare l'app per le funzioni e le risorse correlate nel portale. Tuttavia, è necessario creare il progetto di codice delle funzioni in locale e successivamente pubblicarlo in Azure.

Quando possibile, sviluppare le funzioni in locale e pubblicare il progetto di codice in un'app per le funzioni in Azure. Per altre informazioni, vedere Scrivere codice per Funzioni di Azure e testarle in locale.

Installare le estensioni manualmente

Le funzioni della libreria di classi C# possono includere i pacchetti NuGet per le estensioni di associazione direttamente nel progetto di libreria di classi. Per altri linguaggi non-.NET e script C#, è consigliabile usare bundle di estensioni. Se è necessario installare manualmente le estensioni, è possibile farlo usando Azure Functions Core Tools in locale. Se non è possibile usare bundle di estensioni e non è possibile lavorare al di fuori del portale, è necessario usare Strumenti avanzati (Kudu) per creare manualmente il file extensions.csproj direttamente nel sito. Assicurarsi di rimuovere prima l'extensionBundleelemento dal file host.json.

Questo stesso processo funziona per qualsiasi altro file da aggiungere all’app.

Importante

Quando possibile, non modificare i file direttamente nell'app per le funzioni in Azure. È consigliabile scaricare i file dell'app in locale, usando Core Tools per installare estensioni e altri pacchetti, convalidare le modifiche e quindi ripubblicare l'app usando Core Tools o uno degli altri metodi di distribuzione supportati.

L'editor delle Funzioni integrato nel portale di Azure consente di aggiornare il codice della funzione e i file di configurazione direttamente nel portale:

  1. Selezionare l'app per le funzioni, quindi in Funzioni selezionare Funzioni.

  2. Scegliere la funzione e selezionare Codice + test in Sviluppo.

  3. Scegliere il file da modificare e selezionare Salva al termine.

I file nella radice dell'app, come ad esempio function.proj o extensions.csproj, devono essere creati e modificati usando gli Strumenti avanzati (Kudu):

  1. Selezionare l'app per le funzioni, espandere Strumenti di sviluppo e quindi selezionare Strumenti avanzati>Vai.

  2. Se richiesto, accedere al sito di Gestione controllo del codice sorgente (SCM) con le credenziali di Azure.

  3. Dal menù Console di debug, scegliere CMD.

  4. Passare a .\site\wwwroot, selezionare il pulsante più (+) nella parte superiore e selezionare Nuovo file.

  5. Assegnare un nome al file, ad esempio extensions.csproj, e quindi premere INVIO.

  6. Selezionare il pulsante modifica accanto al nuovo file, aggiungere o aggiornare il codice nel file e quindi selezionare Salva.

  7. Per un file di progetto come extensions.csproj, eseguire il comando seguente per ricompilare il progetto delle estensioni:

    dotnet build extensions.csproj
    

Funzionalità della piattaforma

Le app per le funzioni vengono eseguite nella piattaforma del servizio app di Azure, che le gestisce. Di conseguenza, le app per le funzioni hanno accesso alla maggior parte delle funzionalità di piattaforma di hosting Web di base di Azure. Quando si usa il portale di Azure, il riquadro sinistro consente di accedere alle numerose funzionalità della piattaforma del servizio app che è possibile usare nelle app per le funzioni.

La matrice seguente indica il supporto delle funzionalità del portale di Azure tramite piano di hosting e sistema operativo:

Funzionalità Piano a consumo Piano A consumo Flex Piano Premium Piano Dedicato
Strumenti avanzati (Kudu) Windows: ✔
Linux: X
X
Editor del servizio app Windows: ✔
Linux: X
X Windows: ✔
Linux: X
Windows: ✔
Linux: X
Backup X X X
Console Riga di comando di Windows
Linux: X
X Riga di comando di Windows
Linux; SSH
Riga di comando di Windows
Linux; SSH

Il resto di questo articolo è incentrato sulle seguenti funzionalità nel portale, utili per le app per le funzioni:

Per altre informazioni su come usare le impostazioni del servizio app, vedere Configurare le impostazioni di del servizio app di Azure.

Editor del servizio app

L'editor del servizio app è un editor avanzato, disponibile nel portale, che si può usare per modificare i file di configurazione JSON e i file del codice nello stesso modo. Quando si sceglie questa opzione, viene aperta una scheda separata del browser con un editor di base. Questo editor consente di realizzare l'integrazione con l'archivio Git, eseguire il codice e il relativo debug e modificare le impostazioni dell'app per le funzioni. Questo editor offre un ambiente di sviluppo migliorato per le funzioni, confrontato con l’editor di funzione predefinito.

Screenshot che mostra l'editor del servizio app.

Si consiglia di sviluppare le funzioni nel computer locale. Quando si sviluppa in locale e si pubblica in Azure, i file di progetto sono di sola lettura nel portale di Azure. Per altre informazioni, vedere Scrivere codice per Funzioni di Azure e testarle in locale.

Console

La console nel portale è uno strumento ideale per gli sviluppatori quando si desidera interagire con l'app per le funzioni dalla riga di comando. I comandi comuni includono la creazione e lo spostamento di file e directory, nonché l'esecuzione di script e file batch.

Screenshot che mostra la console app per le funzioni.

Quando si sviluppa in locale, è consigliabile usare Azure Functions Core Tools e l'interfaccia della riga di comando di Azure.

Strumenti avanzati (Kudu)

Gli strumenti avanzati per il servizio app, noto anche come Kudu, consentono l'accesso alle funzionalità amministrative avanzate dell'app per le funzioni. Dalla Kudu è possibile gestire informazioni di sistema, impostazioni dell'app, variabili di ambiente, estensioni del sito, intestazioni HTTP e variabili del server. È anche possibile avviare Kudu dall'endpoint SCM per l'app per le funzioni, ad esempio: https://<myfunctionapp>.scm.azurewebsites.net/.

Screenshot che mostra gli strumenti avanzati per il servizio app (Kudo).

Centro distribuzione

Quando si usa una soluzione di controllo del codice sorgente per sviluppare e gestire il codice delle funzioni, Il Centro distribuzione consente di compilare e implementare dal controllo del codice sorgente. Il progetto viene compilato e distribuito in Azure quando si apportano aggiornamenti. Per altre informazioni, vedere Tecnologie di distribuzione in Funzioni di Azure.

Condivisione di risorse tra le origini

Per impedire l'esecuzione di codice dannoso nel client, i browser moderni bloccano le richieste da applicazioni Web alle risorse in esecuzione in un dominio separato. La condivisione di risorse di diversa origine (CORS) consente a un'intestazione Access-Control-Allow-Origin di dichiarare quali origini sono autorizzate a chiamare gli endpoint nell'app per le funzioni.

Quando si configura l'elenco delle Origini consentite per l'app per le funzioni, l'intestazione Access-Control-Allow-Origin viene aggiunta automaticamente a tutte le risposte dagli endpoint HTTP nell'app per le funzioni.

Screenshot che mostra come configurare l'elenco CORS dell'app per le funzioni.

Se è presente un'altra voce di dominio, il carattere jolly (*) viene ignorato.

Autenticazione

Quando le funzioni usano un trigger HTTP, è possibile richiedere innanzitutto l'autenticazione delle chiamate. Il servizio app supporta l'autenticazione e l'accesso di Microsoft Entra tramite provider di social networking, ad esempio Facebook, Microsoft e X. Per informazioni sulla configurazione di provider di autenticazione specifici, vedere panoramica dell'autenticazione del servizio app di Azure.

Screenshot che mostra come configurare l'autenticazione per un'app per le funzioni.