无法启动WebJob - “不支持Azure存储模拟器”
在开发的Azure的WebJob我遇到无法验证微软的Azure SDK WebJobs存储帐户异常无法启动WebJob - “不支持Azure存储模拟器”
。 不支持Microsoft Azure存储模拟器,请使用Microsoft Azure中托管的Microsoft Azure存储帐户 。'
这似乎相当普遍,解决方案通常是将连接字符串更新为a specific value。但是,在我的情况下,我已经有了这个特定的连接字符串。
此外,我在同一个解决方案中有两个WebJobs:在这两种情况下,我使用完全相同的连接字符串,而其他WebJob连接没有任何问题。
在的App.config我
<connectionStrings>
<add name="AzureWebJobsDashboard" connectionString="DefaultEndpointsProtocol=https;AccountName= ... ;AccountKey= ... " />
<add name="AzureWebJobsStorage" connectionString="DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;" />
</connectionStrings>
相同的连接字符串出现在的appSettings:
<appSettings>
<add key="StorageConnectionString" value="DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;" />
<!--<add key="StorageConnectionString" value="UseDevelopmentStorage=true" />-->
</appSettings>
我发现,进入UseDevelopmentStorage=true
没有什么区别。
我也试过手动在static void Main
声明这些:
var config = new JobHostConfiguration {
JobActivator = new WebJobActivator(kernel)
};
config.DashboardConnectionString = "DefaultEndpointsProtocol=https;AccountName= ... ;AccountKey= ... ";
config.StorageConnectionString = "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;";
,我这样做的时候,异常然后在
我跑的V5.2抛出Azure存储模拟器 - 并且它正在运行。就像我说的,另一个WebJob能够连接并且没有任何问题地运行,并且它们都有相同的App.config文件。
我也评论了WebJob中的所有其他代码,所以它应该做的就是尝试启动并连接到队列。
最后,即使我声明了实时存储的连接字符串,我仍然会得到相同的异常。
为什么?这些连接细节有什么问题?
检查是否运行Microsoft.Azure.WebJobs v1.x或更低版本。我记得在Microsoft.Azure.WebJobs包的v1.x中,不支持使用AzureWebJobsDashboard或AzureWebJobsStorage的模拟器(我不记得哪个不支持)。直到> = v2.x才能使用这些密钥的模拟器。
辉煌,就是这样。我假设,如果我使用VS 2017 WebJob项目模板,我会是最新的,但显然不是。它是开箱即用的v1.2。更新到v2解决了这个问题。 – awj
您在每个项目中使用了哪个版本的Microsoft.Azure.WebJobs?我记得在Microsoft.Azure.WebJobs包的v1.x中,不支持使用AzureWebJobsDashboard或AzureWebJobsStorage的模拟器(我不记得哪个不支持)。直到> = v2.x才能使用这些密钥的模拟器。 –
如果你把这个答案而不是评论,那么你会得到满分。 – awj
完成了,谢谢。 –