Есть два способа получить триггер служебной шины, один из них - webjob, а другой - функция azure. Я проверяю, что пакет Microsoft.Azure.WebJobs.ServiceBus 2.0.0
выглядит так, как будто этот триггер не поддерживает свойство подключения.
В основном, я полагаю, вы хотите использовать webjob sdk. Итак, ниже моя среда.
- Microsoft. Azure .WebJobs 2.0.0
- Microsoft. Azure .WebJobs.Core 2.0.0
- Microsoft . Azure .WebJobs.ServiceBus 2.0.0
В app.config я устанавливаю соединение AzureWebJobsServiceBus
.
<connectionStrings>
<add name="AzureWebJobsDashboard" connectionString="" />
<add name="AzureWebJobsStorage" connectionString="" />
<add name="AzureWebJobsServiceBus" connectionString="service bus connection string"/>
</connectionStrings>
Тогда ниже мой Program.cs .
using Microsoft.Azure.WebJobs;
namespace WebJob1
{
class Program
{
static void Main()
{
var config = new JobHostConfiguration();
config.UseServiceBus();
if (config.IsDevelopment)
{
config.UseDevelopmentSettings();
}
var host = new JobHost(config);
// The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}
}
}
А ниже мой Function.cs . Я установил соединение с атрибутом ServiceBusAccount
. Я нашел это здесь: Атрибуты и аннотации .
using System.IO;
using Microsoft.Azure.WebJobs;
using Microsoft.ServiceBus.Messaging;
namespace WebJob1
{
public class Functions
{
[ServiceBusAccount("AzureWebJobsServiceBus")]
public static void ProcessQueueMessage([ServiceBusTrigger(topicName:"testtopic",subscriptionName:"testsub", access: AccessRights.Manage)] string message, TextWriter log)
{
log.WriteLine(message);
}
}
}
И вот мой скриншот теста.
А если вам нужна функция azure, вы можете обратиться к официальному учебнику: Создать свою первую функцию с помощью Visual Studio и эту привязку к служебной шине (другие страницы содержат информацию о триггере )
Надеюсь, это поможет вам, если у вас все еще есть другие проблемы, пожалуйста, дайте мне знать.