我试图发布我的网站以及一些WebJobs,但在Azure网站上创建网站和作业后,我看到VS.NET 2013上的一个错误:
Error 948 An error occurred while creating the WebJob schedule: No website could be found which matches the WebSiteName [mysitename] and WebSiteUrl [http://mysitename.azurewebsites.net] supplied
Run Code Online (Sandbox Code Playgroud)
我的网站有2个WebJobs,1个连续运行并且已经创建并运行,但需要按计划触发的那个就是这个问题.
关于这里可能出错的任何想法?
编辑1
只想添加计划作业创建为"按需"
这是我正在使用的发布设置:
{
"$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
"webJobName": "ArchiveShipments",
"startTime": "2015-01-11T00:00:00+05:30",
"endTime": null,
"jobRecurrenceFrequency": "Day",
"interval": 1,
"runMode": "Scheduled"
}
Run Code Online (Sandbox Code Playgroud)
我应用AzureSDK后BTW.2.5我发布时没有看到任何错误,但是没有创建预定的WebJob.
我使用.NET Framework 4.6在Visual Studio 2015中创建了一个新的Azure WebJob项目.
在app.config中,我设置了三个连接字符串:
AzureWebJobsDashboard和AzureWebJobsStorage连接字符串是相同的,它们都指向我的存储帐户.我包含了一个连接字符串 - 因为它们都是相同的,除了"名称".
<add name="AzureWebJobsDashboard" connectionString="DefaultEndpointsProtocol=https;AccountName=mystorageaccountname;AccountKey=thisIsTheLongPrimaryKeyICopiedFromAzurePortalForMyStorageAccount" />
Run Code Online (Sandbox Code Playgroud)
一切看起来都对我,但我收到以下错误:
未正确设置Microsoft Azure WebJobs仪表板的配置.在Microsoft Azure网站配置中,必须使用以下格式设置名为AzureWebJobsDashboard的连接字符串:DefaultEndpointsProtocol = https; AccountName = NAME; AccountKey = KEY指向存储Microsoft Azure WebJobs运行时日志的Microsoft Azure存储帐户.
顺便说一下,我知道web作业正在读取app.config,因为我的代码能够连接到我的数据库并更新一些记录.
知道我做错了什么吗?
我通过右键单击我的WebApp项目并添加一个新的Azure Web项目来创建一个计划的Azure WebJob.我在WebJob项目的App.config中设置了AzureWebJobsDashboard和AzureWebJobsStorage连接字符串.我现在单独留下.cs文件中的默认代码.接下来,我从Visual Studio(顺便提一下2013 Update 4)发布到Azure网站.它创建了WebJob,我可以从Azure管理站点或Visual Studio运行它,并且它是成功的.我可以看到我期望它们的输出日志.但是,Azure WebJob详细信息页面显示以下警告/错误:
确保使用以下格式在Microsoft Azure网站配置中设置名为AzureWebJobsDashboard的连接字符串:DefaultEndpointsProtocol = https; AccountName = NAME; AccountKey = KEY指向存储Microsoft Azure WebJobs运行时日志的Microsoft Azure存储帐户.
未正确设置Microsoft Azure WebJobs仪表板的配置.在Microsoft Azure网站配置中,必须使用以下格式设置名为AzureWebJobsDashboard的连接字符串:DefaultEndpointsProtocol = https; AccountName = NAME; AccountKey = KEY指向存储Microsoft Azure WebJobs运行时日志的Microsoft Azure存储帐户.
它还提供了一个链接,是http://azure.microsoft.com/blog/2013/07/17/windows-azure-web-sites-how-application-strings-and-connection-strings-work/其没有按解释为什么我收到错误消息.
现在,为了消除此警告/错误,我将在Azure管理站点的配置页面中添加相同的AzureWebJobsDashboard连接字符串.
所以,我试图弄清楚我是否做错了什么,或者这只是微软尚未解决的WebJobs中的一个问题.我真的希望能够在App.config中拥有它,而不必记住在我们为不同环境生成的每个网站中设置它.
非常感谢您的时间和帮助.
我正在尝试设置一个网站和webjob,但每次我尝试独立于网站发布webjob时都会出错(即Publish as Azure WebJob从上下文菜单中选择)
C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets(4270,5):错误:'MyWebJob.Models.MyDataEntities-Web.config连接字符串'参数不能为null或为空.
C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets(4270,5):错误:'MyWebJob.Models.MoreDataEntities-Web.config连接字符串'参数不能为null或为空.
部署WebJob有两种选择
当我将我的webjob链接到一个网站项目时,它会在网站上部署而不会出错.但是,当我尝试独立部署它时,我在控制台和错误列表中出现上述错误,但仍然部署了webjob.
如何独立部署我的webjob并摆脱这种持久的"错误"?
Azure文档涵盖了将Azure Application Insights集成到不同应用程序类型(如ASP.NET,Java等)的许多示例.但是,该文档未显示将Application Insights集成到Azure WebJob中的任何示例.
有没有人链接到一个示例或文章,其中包含如何将Azure Application Insights集成到作为控制台应用程序构建的Azure WebJob中?
如何重用azure函数中可用的TraceWriter对象来记录外部引用的库中的信息?我尝试使用构造函数传入对象并引用TraceWriter类(web.http.tracing).我没有运气,因为课程看起来不同.
我正在尝试使用Azure WebJob从Azure ServiceBus队列中读取消息,但它正在抛出异常:
Unhandled Exception: System.InvalidOperationException: Found 2 DNS claims in authorization context.
Run Code Online (Sandbox Code Playgroud)
我已经设置了名为"AzureWebJobsServiceBus","AzureWebJobsDashboard"和"AzureWebJobsStorage"的正确连接字符串
WebJob程序代码已更新为使用JobHostConfiguration:
class Program
{
static void Main()
{
var config = new JobHostConfiguration();
config.UseServiceBus();
var host = new JobHost(config);
host.RunAndBlock();
}
}
Run Code Online (Sandbox Code Playgroud)
而实际的Job方法
public class Functions
{
public async static Task ServiceBusResizeRequest(
[ServiceBusTrigger("blah")] string message,
TextWriter log
)
{
await log.WriteLineAsync("got message " + message);
}
}
Run Code Online (Sandbox Code Playgroud)
我可以通过单独的控制台应用程序成功创建和写入队列.
但是当我运行webjob应用程序时,它会抛出异常.
有任何想法吗?
编辑:使用.net 4.6.1
azure azureservicebus azure-servicebus-queues azure-webjobs azure-webjobssdk
是否有Azure WebJobs首选机制来获取处理我的blob数据的本地存储文件夹/路径(sqlite数据库)?我可以获取流,但需要将其写入磁盘,以便Sqlite可以打开它的连接.
我知道RoleEnvironment.GetLocalResource意味着与WebRoles一起使用......是否有与WebJobs相同的东西?
如何创建面向.NET Core 1.1的Azure WebJob?
在Visual Studio 2017中,我看到Azure WebJob的唯一选项是.NET Framework - 见下文.
在.NET Core下,我没有看到Azure WebJob列出.
我有一个由Windows Azure组成的项目
我希望这两个控制台应用程序与Azure网站一起部署为Azure WebJobs.所以我在ASP.NET项目上选择了clikec并选择了Add | 现有项目为Azure WebJob,并添加了具有正确计划的两个控制台应用程序.
一切似乎都很好,2个控制台应用程序现在包含一个带有计划的JSON,ASP.NET项目包含一个带有WebJobs定义的JSON.所有项目都建立得很好.
问题是,当我尝试将ASP.NET项目部署到Azure时,我得到了
The target “ResolveWebJobFiles” does not exist in the project
Run Code Online (Sandbox Code Playgroud)
当作者通过添加解决了这个问题时,我找到了这篇文章
<Import Project="..\packages\Microsoft.Web.WebJobs.Publish.1.0.2\tools\webjobs.targets" Condition="Exists('..\packages\Microsoft.Web.WebJobs.Publish.1.0.2\tools\webjobs.targets')" />
Run Code Online (Sandbox Code Playgroud)
到他的csproj文件,但我的ASP.NET项目的csproj文件已包含此导入.
有什么想法是什么问题?