为什么在队列中添加队列消息时,Azure webjob 无法执行 ProcessQueueMessage?
Why Azure webjob unable to execute ProcessQueueMessage when queue message is added in queue?
我想知道为什么我的 webjob 在队列中找到消息后无法在 Functions.cs
中执行方法 ProcessQueueMessage
?
Functions.cs
public class Functions
{
public static void ProcessQueueMessage([QueueTrigger("testqueue")] string logMessage, TextWriter logger)
{
logger.WriteLine(logMessage);
}
我 运行 这个 webjob 在控制台中显示如下。
Found the following functions:
ProcessQueueMessage
Job host started
问题是当有任何消息添加到 testqueue
时,调试器没有命中。
我上次已经这样做了,而且成功了。我错过了什么?我没有在 Azure 上托管我的网络作业。
我刚刚尝试了 运行ning 与您类似的代码,并且运行良好。我 运行 的代码是 Visual Studio 2015 年使用 Azure SDK 2.7.1 新创建的 "Azure WebJob" 项目。
但是,我在尝试时做了一些观察。
- 它不会运行 使用模拟的开发人员 Azure 存储帐户。只有 Azure 中托管的存储帐户有效。
- 如果队列不存在或拼写错误,它不会给出任何错误消息。无论队列是否存在,输出都是一样的。
因此,请验证您正在使用的队列 ("testqueue") 确实存在并且没有拼写错误。如果不存在,请重新启动应用程序。
在我的测试中,在我创建队列后重新启动应用程序之前,它没有接收到新的队列消息。
作为参考,您可以在此处找到我的代码 https://github.com/kimpihlstrom/azure/tree/master/Azure.Webjob.SDK.MessageProcessor。刚刚用一些实际值更新了 AzureWebJobsDashboard 和 AzureWebJobsStorage。
可以从 Azure 管理门户中找到存储帐户名称和密钥。导航到存储帐户并按屏幕底部的 "Manage Access Keys" 按钮。
我想知道为什么我的 webjob 在队列中找到消息后无法在 Functions.cs
中执行方法 ProcessQueueMessage
?
Functions.cs
public class Functions
{
public static void ProcessQueueMessage([QueueTrigger("testqueue")] string logMessage, TextWriter logger)
{
logger.WriteLine(logMessage);
}
我 运行 这个 webjob 在控制台中显示如下。
Found the following functions:
ProcessQueueMessage
Job host started
问题是当有任何消息添加到 testqueue
时,调试器没有命中。
我上次已经这样做了,而且成功了。我错过了什么?我没有在 Azure 上托管我的网络作业。
我刚刚尝试了 运行ning 与您类似的代码,并且运行良好。我 运行 的代码是 Visual Studio 2015 年使用 Azure SDK 2.7.1 新创建的 "Azure WebJob" 项目。
但是,我在尝试时做了一些观察。
- 它不会运行 使用模拟的开发人员 Azure 存储帐户。只有 Azure 中托管的存储帐户有效。
- 如果队列不存在或拼写错误,它不会给出任何错误消息。无论队列是否存在,输出都是一样的。
因此,请验证您正在使用的队列 ("testqueue") 确实存在并且没有拼写错误。如果不存在,请重新启动应用程序。
在我的测试中,在我创建队列后重新启动应用程序之前,它没有接收到新的队列消息。
作为参考,您可以在此处找到我的代码 https://github.com/kimpihlstrom/azure/tree/master/Azure.Webjob.SDK.MessageProcessor。刚刚用一些实际值更新了 AzureWebJobsDashboard 和 AzureWebJobsStorage。
可以从 Azure 管理门户中找到存储帐户名称和密钥。导航到存储帐户并按屏幕底部的 "Manage Access Keys" 按钮。