2017-10-16 5 views
2

Während eine Azure WebJob Entwicklung begegne ich die Ausnahmekann nicht WebJob starten - "Azure Storage Emulator nicht unterstützt wird"

fehlgeschlagen Microsoft Azure SDK WebJobs Storage-Konto zu bestätigen. Der Microsoft Azure-Speicheremulator wird nicht unterstützt. Verwenden Sie bitte ein in Microsoft Azure gehostetes Microsoft Azure Storage-Konto .

Dies scheint ziemlich häufig zu sein und die Lösung besteht normalerweise darin, die Verbindungszeichenfolge auf a specific value10 zu aktualisieren. In meinem Fall habe ich jedoch bereits diese spezifische Verbindungszeichenfolge.

Außerdem habe ich zwei WebJobs in der gleichen Lösung: Ich verwende in beiden Fällen genau die gleichen Verbindungszeichenfolgen, und der andere WebJob verbindet sich ohne Probleme.

Im App.config Ich habe

<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> 

Die gleiche Verbindungszeichenfolge erscheint unter 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> 

ich, dass die Eingabe UseDevelopmentStorage=true keinen Unterschied gefunden haben, macht.

ich auch versucht habe zu erklären diese manuell in der 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;"; 

und wenn ich dies tun, wird die Ausnahme dann geworfen auf

config.StorageConnectionString = ... 

Ich bin mit v5.2 von der Azure Storage Emulator - und es ist läuft. Und wie ich schon sagte, der andere WebJob ist in der Lage, eine Verbindung herzustellen und ohne Probleme zu laufen, und beide haben identische App.config-Dateien.

Ich habe auch alle anderen Code im WebJob auskommentiert, so alles, was es tun sollte, versucht zu starten und eine Verbindung zur Warteschlange herzustellen.

Und schließlich, auch wenn ich die Verbindungszeichenfolge für den Live-Speicher deklariere ich immer noch die gleiche Ausnahme.

Warum? Was ist mit diesen Verbindungsdetails falsch?

+0

Welche Version von Microsoft.Azure.WebJobs verwenden Sie in jedem Projekt? Ich erinnere mich, dass in v1.x des Microsoft.Azure.WebJobs-Pakets die Verwendung des Emulators für AzureWebJobsDashboard oder AzureWebJobsStorage nicht unterstützt wurde (ich erinnere mich nicht, welches nicht unterstützt wurde). Erst mit> = v2.x konnte der Emulator für diese Schlüssel verwendet werden. –

+0

Wenn Sie dies in eine Antwort und nicht in einen Kommentar eingeben, erhalten Sie die vollen verfügbaren Punkte. – awj

+0

fertig, und danke. –

Antwort

3

Überprüfen Sie, ob Sie Microsoft.Azure.WebJobs v1.x oder früher ausführen. Ich erinnere mich, dass in v1.x des Microsoft.Azure.WebJobs-Pakets die Verwendung des Emulators für AzureWebJobsDashboard oder AzureWebJobsStorage nicht unterstützt wurde (ich erinnere mich nicht, welches nicht unterstützt wurde). Erst mit> = v2.x konnte der Emulator für diese Schlüssel verwendet werden.

+1

Brilliant, das ist es. Ich ging davon aus, dass ich mit der VS 2017 WebJob Projektvorlage zwar aktuell, aber nicht klar wäre. Es referenzierte v1.2 aus der Box.Die Aktualisierung auf v2 löst das Problem. – awj

Verwandte Themen