Sviluppare Funzioni di Azure in locale usando l'interfaccia della riga di comando di Funzioni di Azure (anteprima)

L'interfaccia della riga di comando di Funzioni di Azure è la versione principale successiva (v5) del runtime di sviluppo locale e degli strumenti per Funzioni di Azure. Questa versione di func.exe include un'architettura basata sul carico di lavoro, quindi è possibile scaricare solo gli elementi necessari per lo stack in cui si sviluppa.

Importante

La CLI di Funzioni di Azure (v5) è attualmente in anteprima. Questa versione di anteprima non supporta ancora Java e PowerShell. Per lavorare con linguaggi attualmente non supportati, continua a usare Funzioni di Azure Core Tools v4.

Esistono due versioni di func.exe usate per lo sviluppo di Funzioni di Azure locali:

v4 v5
Nome API Funzioni di Azure Core Tools Funzioni di Azure CLI
Livello di supporto Disponibilità generale (GA) Preview
Installare il footprint Binario completo che include tutti i comandi e le funzionalità per tutti i linguaggi nativi. Installazione di base di piccole dimensioni, oltre a carichi di lavoro per linguaggio e altre funzionalità aggiunte in base alle esigenze. L'host viene distribuito come workload separato, quindi si riceve la versione più recente dell'host senza dover scaricare di nuovo la CLI.
Usa quando... È necessario il supporto generale completo per tutti i flussi di lavoro di sviluppo. Si vuole un'esperienza leggera basata sul carico di lavoro con nuove funzionalità, ad esempio modelli di avvio rapido e profili che mantengono l'ambiente locale sincronizzato con la configurazione del piano di hosting Azure.

Per il riferimento dei comandi, vedi riferimento di Funzioni di Azure CLI.

Gli esempi non sono attualmente disponibili a causa della mancanza di supporto dello stack di linguaggio.

Installare Funzioni di Azure CLI

La CLI di Funzioni di Azure viene distribuita come un'installazione di base leggera, a cui si aggiungono i carichi di lavoro per gli stack con cui si sviluppa. Microsoft pubblica i pacchetti del programma di installazione per Windows, macOS e Linux. Dopo l'installazione, il file binario func si trova nel tuo PATH.

Note

Poiché l'interfaccia della riga di comando (CLI) di Funzioni di Azure è in anteprima, installare la build di anteprima più recente dalla pagina delle versioni di rilascio di Funzioni di Azure Core Tools. Le indicazioni per l'installazione finale vengono pubblicate con la versione di disponibilità generale.

Verificare l'installazione:

func --version

Dopo aver installato la CLI di base, installa i workload per il tuo stack. Il modo più rapido è func setup, che installa l'host, il ruolo di lavoro per la lingua, i bundle di estensioni (quando necessario), il carico di lavoro dello stack e il carico di lavoro dei modelli in un unico passaggio.

Per esempio:

func setup --features dotnet
func setup --features node
func setup --features python
func setup --features go

È anche possibile installare i carichi di lavoro singolarmente usando func workload install. In entrambi i casi, la prima volta che si esegue func init, func newo func run senza i carichi di lavoro necessari installati, l'interfaccia della riga di comando richiede di installarli.

Workloads

L'interfaccia della riga di comando di Funzioni di Azure usa un modello workload. L'installazione di base func è di piccole dimensioni e indipendente dal linguaggio. Installi i workload su richiesta per disporre di strumenti specifici dello stack, dell'host di Functions, dei worker del linguaggio, dei bundle di estensioni e dei template.

I carichi di lavoro rientrano in queste categorie:

  • Host: runtime host di Funzioni di Azure che func run usa.
  • Bundles: artefatti predefiniti del bundle di estensioni, in modo che trigger e binding funzionino immediatamente (obbligatorio per gli stack non .NET).
  • Stack: strumenti di progetto specifici del linguaggio (ad esempio, python, node, dotnet).
  • Worker: il worker del linguaggio usato dall'host in fase di esecuzione (ad esempio, python-worker, node-worker).
  • Modelli: modelli di funzione visualizzati da func new (ad esempio, python-templates, node-templates).

Per l'elenco completo dei carichi di lavoro disponibili e delle relative descrizioni, vedere Carichi di lavoro disponibili nelle informazioni di riferimento sull'interfaccia della riga di comando.

Esperienza al primo avvio

La prima volta che si esegue func init, func newo func run, l'interfaccia della riga di comando verifica se i carichi di lavoro necessari per lo scenario sono installati. Se non lo sono, la CLI ti chiede di installarli. Accettando la richiesta viene installato il set consigliato per lo stack scelto. È possibile rifiutare manualmente il prompt e installare i carichi di lavoro usando func workload installoppure eseguire func setup per effettuare il provisioning del set standard in modo non interattivo.

Aggiornamenti del carico di lavoro

Eseguire func workload search periodicamente per verificare la presenza di nuovi carichi di lavoro disponibili. Continuare a usare Core Tools (v4) per gli stack non supportati o quando sono necessarie funzionalità di disponibilità generale specifiche di Core Tools.

Creare un progetto locale

Per creare un nuovo progetto di Funzioni, usare il func init comando .

func init MyProjFolder --stack dotnet
func init MyProjFolder --stack node --language javascript
func init MyProjFolder --stack node --language typescript
func init MyProjFolder --stack python
func init MyProjFolder --stack go

L'opzione --stack specifica lo stack di linguaggio da usare. Il workload installato per tale stack fornisce la struttura di base.

Creazione di una funzione

Per aggiungere una funzione da un modello, usare il func new comando .

func new --template "HTTP trigger" --name MyHttpTrigger

Eseguire funzioni localmente

Per avviare l'host di Funzioni ed eseguire il progetto, usare func run:

func run

func start viene mantenuto come alias compatibile con le versioni precedenti. L'host gestisce automaticamente Azurite (emulatore di archiviazione locale) a meno che non passi --no-azurite.

Generare un progetto dai modelli quickstart

Per sfogliare e creare la struttura di app di esempio complete (API HTTP, worker di coda, orchestrazioni di Durable Functions), utilizza func quickstart:

func quickstart --stack dotnet --resource http
func quickstart --stack node --resource http
func quickstart --stack python --resource http
func quickstart --stack go --resource http

Gestire i carichi di lavoro

Usare func workload per installare, aggiornare e rimuovere carichi di lavoro. Per l'elenco completo dei sottocomandi e delle opzioni, consulta func workload nel riferimento della CLI.

Profili

I profili codificano i vincoli di versione per l'host, i bundle di estensioni e i ruoli di lavoro. Applicare un profilo in fase di esecuzione usando func run --profile <name>. Per l'elenco completo dei sottocomandi e delle opzioni, consulta func profile nel riferimento della CLI.