Udostępnij za pośrednictwem


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.

Następne kroki