Freigeben über


Migrieren von Funktions-Apps von der Azure Service Bus-Erweiterung Version 4.x zu Version 5.x

In diesem Artikel werden Überlegungen zum Aktualisieren Ihrer vorhandenen Azure Functions-Anwendungen erläutert, die Version 4.x der Azure Service Bus-Erweiterung verwenden, um die neuere Version (Version 5.x) der Erweiterung zu verwenden. Die Migration von Version 4.x zu Version 5.x der Azure Service Bus-Erweiterung beinhaltet Breaking Changes für Ihre Anwendung.

Wichtig

Am 31. März 2025 wird die Azure Service Bus-Erweiterung Version 4.x eingestellt. Die Erweiterung und alle Anwendungen, die die Erweiterung verwenden, funktionieren weiterhin, aber Azure Service Bus bietet keine weitere Wartung und Unterstützung für diese Erweiterung mehr an. Wir empfehlen die Migration zur neuesten Version 5.x der Erweiterung.

Dieser Artikel führt Sie durch den Prozess der Migration Ihrer Funktions-App zur Ausführung mit Version 5.x der Azure Service Bus-Erweiterung. Da Projektupgradeanweisungen sprachabhängig sind, stellen Sie sicher, dass Sie Ihre Entwicklungssprache über den Selektor oben im Artikel auswählen.

Aktualisieren der Erweiterungsversion

.NET-Funktionen verwenden Erweiterungen, die als NuGet-Pakete im Projekt installiert sind. Je nach Ihrem Functions-Prozessmodell variiert das zu aktualisierende NuGet-Paket.

Functions-Prozessmodell Azure Service Bus-Erweiterung Empfohlene Version
In-Process-Modell Microsoft.Azure.WebJobs.Extensions.ServiceBus >= 5.13.4
Isoliertes Workermodell Microsoft.Azure.Functions.Worker.Extensions.ServiceBus >= 5.14.1

Aktualisieren Sie Ihre Projektdatei (.csproj), um die neueste Erweiterungsversion für Ihr Prozessmodell zu verwenden. Die folgende .csproj Datei verwendet Version 5 der Azure Service Bus-Erweiterung.

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

Aktualisieren des Erweiterungspakets

Standardmäßig werden Erweiterungspakete von anderen Funktions-Apps als .NET verwendet, um Bindungserweiterungen zu installieren. Die Azure Service Bus Version 5-Erweiterung ist Teil des Erweiterungspakets, Version 4.

Um Ihre Anwendung so zu aktualisieren, dass sie das neueste Erweiterungspaket verwendet, aktualisieren Sie host.json. Die folgende host.json Datei verwendet Version 4 des Erweiterungspakets.

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

Ändern Ihres Funktionscodes

Die Azure Functions Azure Service Bus-Erweiterung Version 5 basiert auf der Azure.Messaging.ServiceBus SDK Version 3, die Unterstützung für die Message Klasse entfernt hat. Verwenden Sie stattdessen den ServiceBusReceivedMessage Typ, um Nachrichtenmetadaten aus Service Bus-Warteschlangen und Abonnements zu empfangen.

Nächste Schritte