[英]How do I test the Azure Webjobs SDK projects locally?
我希望能够在实际将Azure WebJobs SDK项目发布到Azure之前在本地测试它。
如果我创建一个全新的Azure Web Jobs项目,我会得到一些如下所示的代码:
Program.cs中:
// To learn more about Microsoft Azure WebJobs SDK, please see http://go.microsoft.com/fwlink/?LinkID=320976
class Program
{
// Please set the following connection strings in app.config for this WebJob to run:
// AzureWebJobsDashboard and AzureWebJobsStorage
static void Main()
{
var host = new JobHost();
// The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}
}
Functions.cs:
public class Functions
{
// This function will get triggered/executed when a new message is written
// on an Azure Queue called queue.
public static void ProcessQueueMessage([QueueTrigger("queue")] string message, TextWriter log)
{
log.WriteLine(message);
}
}
我想绕过测试QueueTrigger
功能是否正常工作,但我甚至无法做到这一点,因为在host.RunAndBlock();
我得到以下异常:
mscorlib.dll中发生了未处理的“System.InvalidOperationException”类型异常
其他信息:Microsoft Azure WebJobs SDK仪表板连接字符串缺失或为空。 可以通过以下方式设置Microsoft Azure存储帐户连接字符串:
按以下格式在.config文件的connectionStrings部分中设置名为“AzureWebJobsDashboard”的连接字符串,或者
设置名为“AzureWebJobsDashboard”的环境变量,或
设置JobHostConfiguration的相应属性。
我运行了存储模拟器,并设置了Azure AzureWebJobsDashboard连接字符串,如下所示:
<add name="AzureWebJobsDashboard" connectionString="UseDevelopmentStorage=true" />
但是,当我这样做时,我得到了一个不同的错误
mscorlib.dll中发生了未处理的“System.InvalidOperationException”类型异常
其他信息:无法验证Microsoft Azure WebJobs SDK仪表板帐户。 不支持Microsoft Azure存储模拟器,请使用Microsoft Azure中托管的Microsoft Azure存储帐户。
有没有办法测试我在本地使用WebJobs SDK?
WebJobs 2.0现在可以使用开发存储(我使用的是v2.0.0-beta2)。
请注意,一般的延迟和特别是Blob触发器目前远远好于生产中的延迟。 小心设计。
如果要在本地测试WebJobs SDK,则需要在Azure中设置存储帐户。 您无法针对Azure模拟器进行测试。 这就是错误告诉你的。
无法验证Microsoft Azure WebJobs SDK仪表板帐户。 不支持Microsoft Azure存储模拟器,请使用Microsoft Azure中托管的Microsoft Azure存储帐户。
因此,要回答您的问题,您可以使用门户在Azure中创建存储帐户,然后在控制台应用程序的app.config中设置连接字符串。 然后只需将消息放入队列并在本地运行控制台应用程序,它就会将其取出(假设您正在尝试与队列进行交互)。
确保将[QueueTrigger("queue")]
“queue”替换为要轮询的队列的名称。
希望这可以帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.