Home > Enterprise >  Reading TopicName from config for Azure Function Service Bus Trigger not working
Reading TopicName from config for Azure Function Service Bus Trigger not working

Time:09-30

I have a service bus trigger function where I want to load the topic name from config

I have seen this post and I have tried the same approach Previous Question

 public async Task MyFunctionAsync(
   [ServiceBusTrigger("%TopicName%", "data-subscription", Connection = "event-bus-connection")]
   string mySbMsg)
   {
   }

In my localsettings.json file I have

"bindings": [
    {
      "%TopicName%": "topic"
    }
  ]

"bindings": [ { "%TopicName%": "rockit-notification-topic" } ]

This doesnt work

Microsoft.Azure.WebJobs.Host: Error indexing method 'MyFunction'. Microsoft.Azure.WebJobs.Host: '%TopicName%' does not resolve to a value.

Also, even if this did work, how do I add this to the settings of the function within the portal as this is an item in an array?

CodePudding user response:

You shouldn't add the "bindings" section to you localsettings file. localsettings.json should look something like that:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "event-bus-connection": "test",
    "TopicName":"topic",
    "SubsriptionName":"data-subscription"
  }
}

On Azure Portal you can directly add it to App Service/Function Configuration like properies with name TopicName, SubsriptionName etc.

  • Related