この記事では、Azure Service Bus 拡張機能バージョン 4.x を使用する既存の Azure Functions アプリケーションを、より新しい拡張機能バージョン 5.x を使用するようにアップグレードするときの考慮事項に焦点を当てます。 Azure Service Bus 拡張機能のバージョン 4.x からバージョン 5.x への移行には、アプリケーションに対する破壊的変更が伴います。
重要
2025 年 3 月 31 日に、Azure Service Bus 拡張機能バージョン 4.x は廃止されます。 この拡張機能と、拡張機能を使用するすべてのアプリケーションは引き続き機能しますが、Azure Service Bus は、拡張機能に対する追加のメンテナンスとサポートの提供を終了します。 この拡張機能の最新のバージョンである 5.x に移行することをお勧めします。
この記事では、Azure Service Bus 拡張機能のバージョン 5.x で実行するように関数アプリを移行するプロセスについて説明します。 プロジェクトのアップグレード手順は言語に依存するため、記事の上部にあるセレクターから開発言語を選択してください。
拡張機能のバージョンを更新する
.NET Functions は、プロジェクトに NuGet パッケージとしてインストールされている拡張機能を使用します。 Functions プロセス モデルに応じて、更新する NuGet パッケージは異なります。
Functions プロセス モデル | Azure Service Bus 拡張機能 | 推奨されるバージョン |
---|---|---|
インプロセス モデル | Microsoft.Azure.WebJobs.Extensions.ServiceBus | >= 5.13.4 |
分離ワーカー モデル | Microsoft.Azure.Functions.Worker.Extensions.ServiceBus | >= 5.14.1 |
プロセス モデルに対する最新の拡張機能バージョンを使用するように .csproj
プロジェクト ファイルを更新します。 次の .csproj
ファイルは、Azure Service Bus 拡張機能のバージョン 5 を使用します。
<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>
拡張機能バンドルを更新する
既定では、拡張機能バンドルは、.NET 以外の関数アプリがバインド拡張機能をインストールするために使用します。 Azure Service Bus バージョン 5 拡張機能は、拡張機能バンドル バージョン 4 の一部です。
最新の拡張機能バンドルを使用するようにアプリケーションを更新するには、host.json
を更新します。 次の host.json
ファイルは、拡張機能バンドルのバージョン 4 を使用します。
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
関数コードを変更する
Azure Functions Azure Service Bus 拡張機能バージョン 5 は、Message
クラスのサポートが削除された Azure.Messaging.ServiceBus SDK バージョン 3 の上に構築されています。 Service Bus キューとサブスクリプションからメッセージ メタデータを受信するには、代わりに ServiceBusReceivedMessage
型を使用します。