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.
Questo articolo illustra le considerazioni per l'aggiornamento delle applicazioni Funzioni di Azure esistenti che usano l'estensione bus di servizio di Azure versione 4.x per usare la versione più recente dell'estensione 5.x. La migrazione dalla versione 4.x alla versione 5.x dell'estensione bus di servizio di Azure presenta modifiche di rilievo per l'applicazione.
Importante
L'estensione 4.x di bus di servizio di Azure è stata ritirata il 31 marzo 2025. Le applicazioni possono continuare a funzionare con l'estensione, ma l'estensione non riceve più manutenzione né supporto. Esegui la migrazione all'estensione versione 5.x, che utilizza la libreria supportata Azure.Messaging.ServiceBus. La Microsoft.Azure.ServiceBus libreria utilizzata dalla versione 4.x è stata ritirata il 30 settembre 2026. Per dettagli sulla dismissione della libreria, consulta l'annuncio di dismissione.
Questo articolo illustra il processo di migrazione dell'app per le funzioni da eseguire nella versione 5.x dell'estensione bus di servizio di Azure. Poiché le istruzioni di aggiornamento del progetto dipendono dal linguaggio usato, assicurarsi di scegliere il linguaggio di sviluppo dal selettore nella parte superiore dell'articolo.
Note
Questa migrazione non si applica alle app di funzione Go. Il supporto First-class Go non era disponibile con la versione 4.x dell'estensione bus di servizio di Azure. Per le attuali linee guida sui trigger di Go, vedi il trigger di bus di servizio di Azure.
Aggiornare la versione dell'estensione
Funzioni .NET usa le estensioni installate nel progetto come pacchetti NuGet. A seconda del modello di processo di Funzioni, il pacchetto NuGet da aggiornare varia.
| Modello di processo delle funzioni | estensione di bus di servizio di Azure | Versione consigliata |
|---|---|---|
| Modello di processo | Microsoft.Azure.WebJobs.Extensions.ServiceBus | >= 5.13.4 |
| Modello di lavoro isolato | Microsoft.Azure.Functions.Worker.Extensions.ServiceBus | >= 5.14.1 |
Aggiornare il file di progetto .csproj perché usi la versione più recente dell'estensione per il modello di processo. Il file seguente .csproj usa la versione 5 dell'estensione bus di servizio di Azure.
<Project Sdk="Azure.Functions.Sdk/1.0.0">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.Functions.Worker" Version="2.52.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.ServiceBus" Version="5.16.0" />
</ItemGroup>
<ItemGroup>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
</Project>
Aggiornare il bundle di estensione
Per impostazione predefinita, i pacchetti di estensioni vengono usati dalle app per funzioni non .NET per installare le estensioni di binding. L'estensione bus di servizio di Azure versione 5 fa parte del bundle di estensione versione 4.
Per aggiornare l'applicazione in modo che usi il bundle di estensione più recente, aggiorna il tuo host.json. Il file seguente host.json usa la versione 4 del bundle di estensione.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Modificare il codice della funzione
L'estensione di bus di servizio di Azure per Funzioni di Azure versione 5 si basa su Azure.Messaging.ServiceBus SDK versione 3, che ha rimosso il supporto per la classe Message. Utilizzare invece il tipo ServiceBusReceivedMessage per ricevere i metadati dei messaggi dalle code e dalle sottoscrizioni di bus di servizio.