Sdílet prostřednictvím


Migrace aplikací funkcí z rozšíření Azure Service Bus verze 4.x na verzi 5.x

Tento článek zdůrazňuje důležité informace o upgradu stávajících aplikací Azure Functions, které používají rozšíření Služby Azure Service Bus verze 4.x k použití novější verze 5.x. Migrace z verze 4.x na verzi 5.x rozšíření Azure Service Bus obsahuje zásadní změny pro vaši aplikaci.

Důležité

31. března 2025 bude rozšíření služby Azure Service Bus verze 4.x vyřazeno. Rozšíření a všechny aplikace, které rozšíření používají, budou dál fungovat, ale Azure Service Bus přestane poskytovat další údržbu a podporu tohoto rozšíření. Doporučujeme migrovat na nejnovější verzi 5.x rozšíření.

Tento článek vás provede procesem migrace aplikace funkcí tak, aby běžela na verzi 5.x rozšíření Azure Service Bus. Vzhledem k tomu, že pokyny k upgradu projektu jsou závislé na jazyce, nezapomeňte zvolit vývojový jazyk ze selektoru v horní části článku.

Aktualizace verze rozšíření

.NET Functions používá rozšíření nainstalovaná v projektu jako balíčky NuGet. V závislosti na modelu procesu služby Functions se balíček NuGet, který se má aktualizovat, liší.

Model procesu služby Functions Rozšíření služby Azure Service Bus Doporučená verze
Model v procesu Microsoft.Azure.WebJobs.Extensions.ServiceBus >= 5,13,4
Izolovaný model pracovního procesu Microsoft.Azure.Functions.Worker.Extensions.ServiceBus >= 5,14,1

Aktualizujte .csproj soubor projektu tak, aby používal nejnovější verzi rozšíření pro váš procesový model. Následující .csproj soubor používá verzi 5 rozšíření Azure Service Bus.

<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>

Aktualizace sady rozšíření

Ve výchozím nastavení sady rozšíření používají aplikace funkcí non-.NET k instalaci rozšíření vazeb. Rozšíření Azure Service Bus verze 5 je součástí sady rozšíření verze 4.

Pokud chcete aplikaci aktualizovat tak, aby používala nejnovější sadu rozšíření, aktualizujte svou host.json. Následující host.json soubor používá verzi 4 sady rozšíření.

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

Úprava kódu funkce

Rozšíření Azure Functions služby Azure Service Bus verze 5 je postavené na sadě Azure.Messaging.ServiceBus SDK verze 3, která odebrala podporu pro Message třídu. Místo toho použijte typ k příjmu ServiceBusReceivedMessage metadat zpráv z front a odběrů služby Service Bus.

Další kroky