如何将消息添加到 azure webjobs 队列
how to add message to azure webjobs queue
我有一个排队的网络作业使用队列触发器执行任务:
public static void ProcessQueueMessage([QueueTrigger("queue")],Data data, TextWriter log)
{
//do stuff
}
在同一个解决方案中有一个网站,我需要做的是简单地将消息从网站控制器之一添加到队列中。我尝试直接引用函数,但似乎这只是运行函数而不是排队消息,这是不可取的,因为它以一种扩展性很差的方式创建了一大堆线程。
QueueTrigger
的工作方式是轮询一个队列(在您的情况下命名为 "queue" 的属性中指定)。所以基本上要将消息添加到此队列,您只需在您的网站项目中引用 Azure Storage Client Library
,然后在您的控制器中使用类似于以下的代码将消息添加到队列:
var account = new CloudStorageAccount(new StorageCredentials(accountName, accountKey), true);
var queueClient = account.CreateCloudQueueClient();
var queue = queueClient.GetQueueReference("queue");
var msg = new CloudQueueMessage("message-contents");
queue.AddMessage(msg);
您可能还会发现此 link 有帮助:https://azure.microsoft.com/en-in/documentation/articles/websites-dotnet-webjobs-sdk-storage-queues-how-to/
我有一个排队的网络作业使用队列触发器执行任务:
public static void ProcessQueueMessage([QueueTrigger("queue")],Data data, TextWriter log)
{
//do stuff
}
在同一个解决方案中有一个网站,我需要做的是简单地将消息从网站控制器之一添加到队列中。我尝试直接引用函数,但似乎这只是运行函数而不是排队消息,这是不可取的,因为它以一种扩展性很差的方式创建了一大堆线程。
QueueTrigger
的工作方式是轮询一个队列(在您的情况下命名为 "queue" 的属性中指定)。所以基本上要将消息添加到此队列,您只需在您的网站项目中引用 Azure Storage Client Library
,然后在您的控制器中使用类似于以下的代码将消息添加到队列:
var account = new CloudStorageAccount(new StorageCredentials(accountName, accountKey), true);
var queueClient = account.CreateCloudQueueClient();
var queue = queueClient.GetQueueReference("queue");
var msg = new CloudQueueMessage("message-contents");
queue.AddMessage(msg);
您可能还会发现此 link 有帮助:https://azure.microsoft.com/en-in/documentation/articles/websites-dotnet-webjobs-sdk-storage-queues-how-to/