Migrer des applications de fonction de l’extension Azure Service Bus version 4.x vers la version 5.x
Cet article met en évidence les considérations relatives à la mise à niveau de vos applications Azure Functions existantes qui utilisent l’extension Azure Service Bus version 4.x pour utiliser la version 5.x de l’extension la plus récente version 5.x. La migration de la version 4.x vers la version 5.x de l’extension Azure Service Bus a des changements cassants pour votre application.
Important
Le 31 mars 2025, l’extension Azure Service Bus version 4.x sera supprimée. L’extension et toutes les applications qui utilisent l’extension continueront de fonctionner, mais Azure Service Bus cessera de fournir une maintenance et une prise en charge supplémentaires pour cette extension. Nous recommandons de migrer vers la dernière version 5.x de l’extension.
Cet article vous guide tout au long du processus de migration de votre application de fonction à exécuter sur la version 5.x de l’extension Azure Service Bus. Étant donné que les instructions de mise à niveau du projet dépendent du langage, veillez à choisir votre langage de développement à l’aide du sélecteur en haut de l’article.
Mettre à jour la version de l’extension
.NET Functions utilise des extensions installées dans le projet en tant que packages NuGet. Selon votre modèle de processus Functions, le package NuGet à mettre à jour varie.
Modèle du processus Functions | Extension Azure Service Bus | Version recommandée |
---|---|---|
Modèle in-process | Microsoft.Azure.WebJobs.Extensions.ServiceBus | >= 5.13.4 |
Modèle de worker isolé | Microsoft.Azure.Functions.Worker.Extensions.ServiceBus | >= 5.14.1 |
Mettez à jour votre .csproj
fichier projet pour utiliser la dernière version de l’extension pour votre modèle de processus. Le fichier .csproj
suivant utilise la version 5 de l’extension 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>
Mettez à jour le bundle d’extensions
Par défaut, les bundles d’extensions sont utilisés par non-.NET applications de fonction pour installer des extensions de liaison. L’extension Azure Service Bus version 5 fait partie de l’offre groupée d’extensions version 4.
Pour mettre à jour votre application afin d’utiliser le dernier bundle d’extensions, mettez à jour votre host.json
. Le fichier host.json
suivant utilise la version 4 du bundle d’extensions.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Modifier votre code de fonction
L’extension Azure Service Bus Azure Functions version 5 est basée sur le SDK Azure.Messaging.ServiceBus version 3, qui a supprimé la prise en charge de la classe Message
. Utilisez plutôt le type ServiceBusReceivedMessage
pour recevoir des métadonnées de message à partir de files d’attente et d’abonnements Service Bus.