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.