Migrowanie aplikacji funkcji z rozszerzenia usługi Azure Service Bus w wersji 4.x do wersji 5.x
W tym artykule opisano zagadnienia dotyczące uaktualniania istniejących aplikacji usługi Azure Functions korzystających z rozszerzenia usługi Azure Service Bus w wersji 4.x do korzystania z nowszego rozszerzenia w wersji 5.x. Migracja z wersji 4.x do wersji 5.x rozszerzenia usługi Azure Service Bus ma zmiany powodujące niezgodność dla aplikacji.
Ważne
31 marca 2025 r. rozszerzenie usługi Azure Service Bus w wersji 4.x zostanie wycofane. Rozszerzenie i wszystkie aplikacje korzystające z rozszerzenia będą nadal działać, ale usługa Azure Service Bus przestanie zapewniać dalszą konserwację i obsługę tego rozszerzenia. Zalecamy migrację do najnowszej wersji 5.x rozszerzenia.
W tym artykule przedstawiono proces migracji aplikacji funkcji do uruchomienia w wersji 5.x rozszerzenia usługi Azure Service Bus. Ponieważ instrukcje uaktualniania projektu są zależne od języka, pamiętaj, aby wybrać język programowania z selektora w górnej części artykułu.
Aktualizowanie wersji rozszerzenia
Usługa .NET Functions używa rozszerzeń zainstalowanych w projekcie jako pakietów NuGet. W zależności od modelu procesów usługi Functions pakiet NuGet do aktualizacji różni się.
Model przetwarzania funkcji | Rozszerzenie usługi Azure Service Bus | Rekomendowana wersja |
---|---|---|
Model w procesie | Microsoft.Azure.WebJobs.Extensions.ServiceBus | >= 5.13.4 |
Model izolowanego procesu roboczego | Microsoft.Azure.Functions.Worker.Extensions.ServiceBus | >= 5.14.1 |
.csproj
Zaktualizuj plik projektu, aby użyć najnowszej wersji rozszerzenia dla modelu przetwarzania. .csproj
Poniższy plik używa wersji 5 rozszerzenia usługi 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>
Aktualizowanie pakietu rozszerzeń
Domyślnie pakiety rozszerzeń są używane przez aplikacje funkcji non-.NET do instalowania rozszerzeń powiązań. Rozszerzenie usługi Azure Service Bus w wersji 5 jest częścią pakietu rozszerzenia w wersji 4.
Aby zaktualizować aplikację tak, aby korzystała z najnowszego pakietu rozszerzeń, zaktualizuj plik host.json
. host.json
Poniższy plik używa wersji 4 pakietu rozszerzenia.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Modyfikowanie kodu funkcji
Rozszerzenie Usługi Azure Service Bus usługi Azure Functions w wersji 5 jest oparte na zestawie SDK Azure.Messaging.ServiceBus w wersji 3, który usunął obsługę Message
klasy . Zamiast tego użyj ServiceBusReceivedMessage
typu , aby odbierać metadane komunikatów z kolejek i subskrypcji usługi Service Bus.