Перенос приложений-функций из расширения Служебная шина 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
тип для получения метаданных сообщения из служебная шина очередей и подписок.