Eseguire la migrazione delle app per le funzioni da bus di servizio di Azure'estensione 4.x alla versione 5.x
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
Il 31 marzo 2025 l'estensione bus di servizio di Azure versione 4.x verrà ritirata. L'estensione e tutte le applicazioni che usano l'estensione continueranno a funzionare, ma bus di servizio di Azure smetterà di fornire ulteriore manutenzione e supporto per questa estensione. È consigliabile eseguire la migrazione alla versione 5.x più recente dell'estensione.
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, assicurarsi di scegliere il linguaggio di sviluppo dal selettore nella parte superiore dell'articolo.
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 di Funzioni | estensione 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 .csproj
file di progetto per usare 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="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
<OutputType>Exe</OutputType>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.21.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.ServiceBus" Version="5.16.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.16.4" />
</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 bundle di estensioni vengono usati dalle app per le funzioni non-.NET per installare le estensioni di associazione. L'estensione bus di servizio di Azure versione 5 fa parte del bundle di estensione versione 4.
Per aggiornare l'applicazione in modo da usare il bundle di estensione più recente, aggiornare 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 Funzioni di Azure bus di servizio di Azure versione 5 è basata su Azure.Messaging.ServiceBus SDK versione 3, che ha rimosso il supporto per la Message
classe . Usare invece il ServiceBusReceivedMessage
tipo per ricevere i metadati dei messaggi da bus di servizio code e sottoscrizioni.