Bonjour @Jerome Potier,
L'une des principales raisons pour lesquelles votre fonction Azure ne consomme pas les messages du Service Bus pourrait être que le nom de connexion n'est pas correctement défini dans local.settings.json
. Vérifiez également que le nom du topic et celui de la souscription dans votre Service Bus correspondent bien à ceux de votre code.
Voici un exemple de fichier local.settings.json
indiquant comment configurer la connexion :
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_INPROC_NET8_ENABLED": "1",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"sampath": "Endpoint=sb://sampath45234.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=WUBauuZ+"
}
}
Si votre fonction est déployée sur Azure, suivez ces étapes pour vérifier la configuration dans le portail Azure :
- Ouvrez votre fonction dans Azure et accédez à l'onglet Intégration. Assurez-vous que le nom de connexion du Service Bus correspond à celui défini dans vos paramètres.
- Votre code de fonction doit contenir la bonne référence de connexion, comme indiqué ci-dessous :
public void Run([ServiceBusTrigger("sampathtopic", "sampathsubscription", Connection = "sampath")] string mySbMsg, ILogger log)
- Si la connexion au Service Bus ne s'affiche pas, allez dans Variables d'environnement sous Paramètres d'application et ajoutez manuellement votre nom de connexion et sa valeur en utilisant la chaîne de connexion du Service Bus.
- Consultez l'onglet Invocations pour voir les journaux. Les modifications peuvent prendre entre 5 et 10 minutes avant d’être appliquées.
J’ai traduit cette réponse depuis l’anglais, je m’excuse donc pour d’éventuelles erreurs.
Si vous avez besoin d’aide sur un problème technique, créez un nouveau sujet pour que nous puissions vous aider. Pour toute autre question, cliquez sur Commenter.