Registrare le estensioni di associazione Funzioni di Azure

A partire da Funzioni di Azure versione 2.x, il runtime delle funzioni include solo trigger HTTP e timer per impostazione predefinita. Altri trigger e associazioni sono disponibili come pacchetti separati.

Le app per le funzioni della libreria di classi .NET usano associazioni installate nel progetto come pacchetti NuGet. I bundle di estensioni consentono alle app per le funzioni di non-.NET di usare le stesse associazioni senza dover gestire l'infrastruttura .NET.

La tabella seguente indica quando e come registrare le associazioni.

Ambiente di sviluppo Registrazione
in Funzioni 1.x
Registrazione
in Funzioni 2.x o versioni successive
Azure portal Automatico Automatico*
lingue Non-.NET Automatico Usare bundle di estensioni (scelta consigliata) o installare in modo esplicito le estensioni
Libreria di classi C# con Visual Studio Usare gli strumenti di NuGet Usare gli strumenti di NuGet
Libreria di classi C# usando Visual Studio Code N/D Usare l'interfaccia della riga di comando di .NET Core

* Il portale usa bundle di estensioni, incluso lo script C#.

Bundle di estensioni

Per impostazione predefinita, i bundle di estensioni vengono usati dalle app per le funzioni Java, JavaScript, PowerShell, Python, C# e Custom Handler per lavorare con le estensioni di associazione. Nei casi in cui non è possibile usare i bundle di estensioni, è possibile installare in modo esplicito le estensioni di associazione con il progetto dell'app per le funzioni. I bundle di estensione sono supportati per la versione 2.x e successive del runtime di Funzioni.

I bundle di estensioni sono un modo per aggiungere un set predefinito di estensioni di associazione compatibili all'app per le funzioni. Le versioni dei bundle di estensioni vengono eseguite. Ogni versione contiene un set specifico di estensioni di associazione verificate per funzionare insieme. Selezionare una versione del bundle in base alle estensioni necessarie nell'app.

Quando si crea un progetto di funzioni non-.NET dagli strumenti o nel portale, i bundle di estensioni sono già abilitati nel file host.json dell'app.

Un riferimento al bundle di estensione è definito dalla extensionBundle sezione in un host.json come indicato di seguito:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

In extensionBundle sono disponibili le proprietà seguenti:

Proprietà Descrizione
id Spazio dei nomi per i bundle di estensioni di Funzioni di Azure Microsoft.
version Intervallo di versioni del bundle da installare. Il runtime di Funzioni sceglie sempre la versione massima consentita definita dall'intervallo o dall'intervallo di versioni. Ad esempio, un version intervallo di valori di [4.0.0, 5.0.0) consente tutte le versioni del bundle dalla versione 4.0.0 fino a 5.0.0, ma non incluse. Per altre informazioni, vedere la notazione degli intervalli per specificare gli intervalli di versione.

La tabella seguente elenca gli intervalli di versioni attualmente disponibili dei bundle Microsoft.Azure.Functions.ExtensionBundle predefiniti e i collegamenti alle estensioni incluse.

Versione bundle Versione in host.json Estensioni incluse
1.x [1.*, 2.0.0) Vedere extensions.json usato per generare il bundle.
2.x [2.*, 3.0.0) Vedere extensions.json usato per generare il bundle.
3.x [3.3.0, 4.0.0) Vedere extensions.json usato per generare il bundle.
4.x [4.0.0, 5.0.0) Vedere extensions.json usato per generare il bundle.

Nota

Anche se host.json supporta intervalli personalizzati per version, è consigliabile usare un valore dell'intervallo di versioni di questa tabella, ad esempio [4.0.0, 5.0.0).

Installare in modo esplicito le estensioni

Per i progetti di libreria di classi C# compilati (processo di lavoro in-process e isolato), si installano i pacchetti NuGet per le estensioni necessarie normalmente. Per esempi, vedere la Guida per sviluppatori di Visual Studio Code o la Guida per sviluppatori di Visual Studio.

Per non-.NET linguaggi e script C#, quando non è possibile usare bundle di estensioni è necessario installare manualmente le estensioni di associazione necessarie nel progetto locale. Il modo più semplice consiste nell'usare Funzioni di Azure Core Tools. Per altre informazioni, vedere Installazione delle estensioni func.

Per lo sviluppo solo portale, è necessario creare manualmente un file extensions.csproj nella radice dell'app per le funzioni. Per altre informazioni, vedere Installare manualmente le estensioni.

Passaggi successivi