Поделиться через


Перенос приложений-функций из расширения Служебная шина Azure версии 4.x на версию 5.x

В этой статье рассматриваются рекомендации по обновлению существующих приложений Функции Azure, использующих расширение Служебная шина Azure версии 4.x для использования более нового расширения версии 5.x. Переход с версии 4.x на версию 5.x расширения Служебная шина Azure имеет критические изменения для приложения.

Внимание

31 марта 2025 г. расширение Служебная шина Azure версии 4.x будет прекращено. Расширение и все приложения, использующие расширение, будут продолжать функционировать, но Служебная шина Azure перестанет предоставлять дальнейшее обслуживание и поддержку этого расширения. Мы рекомендуем перейти к последней версии 5.x расширения.

В этой статье описывается процесс переноса приложения-функции для запуска в версии 5.x расширения Служебная шина Azure. Так как инструкции по обновлению проекта зависят от языка, обязательно выберите язык разработки из селектора в верхней части статьи.

Обновление версии расширения

Функции .NET используют расширения, установленные в проекте в качестве пакетов NuGet. В зависимости от модели процесса функций пакет NuGet для обновления зависит от модели процесса Функций.

Модель процесса функций расширение Служебная шина Azure Рекомендуемая версия
Модель внутрипроцессного процесса Microsoft.Azure.WebJobs.Extensions.ServiceBus >= 5.13.4
Изолированная рабочая модель Microsoft.Azure.Functions.Worker.Extensions.ServiceBus >= 5.14.1

Обновите .csproj файл проекта, чтобы использовать последнюю версию расширения для модели процесса. .csproj Следующий файл использует версию 5 расширения Служебная шина Azure.

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

Обновление пакета расширений

По умолчанию пакеты расширений используются приложениями-функциями non-.NET для установки расширений привязки. Расширение Служебная шина Azure версии 5 является частью пакета расширений версии 4.

Чтобы обновить приложение, чтобы использовать последний пакет расширений, обновите приложение host.json. host.json Следующий файл использует версию 4 пакета расширений.

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

Изменение кода функции

Расширение Функции Azure Служебная шина Azure версии 5 построено на основе пакета SDK для Azure.Messaging.ServiceBus версии 3, который удалил поддержку классаMessage. Вместо этого используйте ServiceBusReceivedMessage тип для получения метаданных сообщения из служебная шина очередей и подписок.

Следующие шаги