Condividi tramite


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.

Passaggi successivi