我正在尝试使用SDK 3.0.x开发WebJob,并在本地对其进行测试。我一直在github上跟踪示例,但没有成功。
在本地运行它时,一切正常,它也可以看到laravel/mix
函数,但是它没有从队列中选择消息。
Program.cs
ProcessQueueMessage
Functions.cs
static void Main(string[] args)
{
var builder = new HostBuilder();
//builder.UseEnvironment(EnvironmentName.Development);
builder.ConfigureWebJobs(b =>
{
b.AddAzureStorageCoreServices();
b.AddAzureStorage();
});
builder.ConfigureAppConfiguration((context, config) =>
{
config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
});
builder.ConfigureLogging((context, b) =>
{
b.AddConsole();
// If the key exists in settings, use it to enable Application Insights.
string instrumentationKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
if (!string.IsNullOrEmpty(instrumentationKey))
{
b.AddApplicationInsights(o => o.InstrumentationKey = instrumentationKey);
}
});
builder.ConfigureServices((context, services) =>
{
//services.AddSingleton<IJobActivator, MyJobActivator>();
services.AddScoped<Functions, Functions>();
services.AddSingleton<IHostService, HostService>();
})
.UseConsoleLifetime();
var host = builder.Build();
using (host)
{
host.Run();
}
}
这是输出的屏幕截图
感谢您的帮助
队列消息“ newrequests”的屏幕截图
答案 0 :(得分:0)
从快照中,您的网络作业在本地运行良好。它没有选择邮件,因为您没有在newrequests
队列中添加邮件。
仅在添加消息后才触发该功能。否则我会得到和您一样的结果。
关于本教程,您可以参考官方文档:Get started with the Azure WebJobs SDK。并确保设置正确的存储帐户。以下是我的appsettings.json
。确保将appSettings.json
文件的“复制到输出目录”属性设置为如果较新则复制或始终复制。否则会发生异常:未配置存储帐户“存储”。
{
"ConnectionStrings": {
"AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=mystorage;AccountKey=key;..."
}
}
希望这对您有帮助,如果您还有其他问题,请告诉我。