Esplorare lo sviluppo di funzioni di Azure

Completato

Una funzione contiene due elementi importanti: il codice, che può essere scritto in vari linguaggi, e una configurazione, ovvero il file function.json. Per i linguaggi compilati, questo file config viene generato automaticamente dalle annotazioni nel codice. Per i linguaggi di scripting, è necessario fornire personalmente il file config.

Il file function.json definisce il trigger, le associazioni e altre impostazioni di configurazione della funzione. Ogni funzione ha un unico trigger. Il runtime usa questo file di configurazione per determinare gli eventi da monitorare e il modo in cui passare i dati in una funzione e poi restituirli dopo l'esecuzione. Di seguito è riportato un file function.json di esempio.

{
    "disabled":false,
    "bindings":[
        // ... bindings here
        {
            "type": "bindingType",
            "direction": "in",
            "name": "myParamName",
            // ... more depending on binding
        }
    ]
}

La proprietà bindings è quella che consente di configurare trigger e associazioni. Ogni binding condivide alcune impostazioni comuni e alcune specifiche di un tipo di binding particolare. Ogni binding richiede le impostazioni seguenti:

Proprietà Tipi Commenti
type stringa Nome dell'associazione. Ad esempio, queueTrigger.
direction stringa Indica se l'associazione consente la ricezione di dati nella funzione o l'invio di dati dalla funzione. Ad esempio, in o out.
name stringa Il nome che viene usato per i dati associati nella funzione. Ad esempio, myQueue.

App per le funzioni

Un'app per le funzioni offre un contesto di esecuzione in Azure in cui vengono eseguite le funzioni. Di conseguenza, è l'unità di distribuzione e gestione per le funzioni. Un'app per le funzioni è costituita da una o più funzioni singole che vengono gestite, distribuite e ridimensionate insieme. Tutte le funzioni incluse in un'app per le funzioni condividono lo stesso piano tariffario, lo stesso metodo di distribuzione e la stessa versione di runtime. Un'app per le funzioni si può vedere come un modo per organizzare e gestire collettivamente le funzioni.

Nota

In Funzioni 2.x tutte le funzioni in un'app per le funzioni devono essere create nello stesso linguaggio. Nelle versioni precedenti del runtime di Funzioni di Azure, questa operazione non era necessaria.

Struttura delle cartelle

Il codice per tutte le funzioni in un'app per le funzioni specifica si trova in una cartella di progetto radice che contiene un file di configurazione dell'host. Il file host.json contiene configurazioni specifiche del runtime e si trova nella cartella radice dell'app per le funzioni. Una cartella bin contiene i pacchetti e altri file di libreria necessari per l'app per le funzioni. Le strutture di cartelle specifiche richieste dall'app per le funzioni dipendono dal linguaggio:

Ambienti di sviluppo locale

Funzioni semplifica l'uso dell'editor di codice e degli strumenti di sviluppo preferiti per creare e testare funzioni nel computer locale. Le funzioni locali possono connettersi ai servizi di Azure in tempo reale ed è possibile eseguirne il debug nel computer locale usando il runtime completo di Funzioni.

Il modo in cui si sviluppano le funzioni nel computer locale dipende dalle preferenze relative al linguaggio e agli strumenti. Per altre informazioni, vedere Creare il codice e testare Funzioni di Azure in locale.

Avviso

Non combinare lo sviluppo locale con lo sviluppo del portale nella stessa app per le funzioni. Quando si creano e si pubblicano funzioni da un progetto locale, non è opportuno provare a gestire o modificare il codice del progetto nel portale.