服务总线触发azure webjob
本文关键字:azure webjob 总线 服务 | 更新日期: 2023-09-27 18:12:17
我创建了一个azure webjob,它将发送一个强类型消息到服务总线队列,并成功发送。
我想创建另一个webjob,它应该在servicebus队列中有消息时触发。请找到下面的代码,我正在尝试。由于某种原因,虽然在servicebus队列中有消息,但当我在本地运行webjob时,webjob没有被触发并得到一个错误。
错误:System.InvalidOperationException
{"Missing value for trigger parameter 'blobIinfo'."}
代码:public static void Main()
{
var config = new JobHostConfiguration
{
NameResolver = new QueueNameResolver(),
ServiceBusConnectionString = ApplicationSettings.ServiceBusConnectionString
};
var host = new JobHost(config);
host.Call(typeof(BankLineFileProcessorWebJob).GetMethod("ProcessQueueMessage"));
}
[NoAutomaticTrigger]
public static void ProcessQueueMessage(
TextWriter log,
[ServiceBusTrigger("testsftppollingqueue")] SftpQueueMessage blobIinfo
)
{
while (true)
{
log.WriteLine("Queue message refers to blob: " + blobIinfo.BlobUri);
Thread.Sleep(TimeSpan.FromMinutes(PollingInterval));
}
}
谁能帮我解决这个问题?谢谢
你必须使用
host.RunAndBlock();
不是host.Call(typeof(BankLineFileProcessorWebJob).GetMethod("ProcessQueueMessage"));
另外,请去掉NoAutomaticTrigger属性