2017-10-16 6 views
2

を「Azureストレージエミュレータがサポートされていない」私は例外は - AzureのWebJobを開発している間

が発生した、マイクロソフトのAzure SDK WebJobsストレージアカウントの検証に失敗しました。 Microsoft Azure Storage Emulatorはサポートされていません。 Microsoft AzureでホストされているMicrosoft Azure Storageアカウントを使用してください。

これはかなり一般的なようです。解決策は通常、接続文字列をa specific valueに更新することです。しかし、私の場合は、すでにこの特定の接続文字列を持っています。

さらに、私は同じ解決策で2つのWebJobを持っています。私はどちらの場合もまったく同じ接続文字列を使用していますが、他のWebJobは問題なく接続します。私は、同じ接続文字列

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

を持ってApp.configファイル

の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にこれらを宣言しようとしました:私はのV5.2を実行している

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

と、私はこれを行う際に、例外が、その後

​​

にスローされますAzure Storage Emulator - です。私が言ったように、他のWebJobは問題なく接続して実行することができ、両方とも同じApp.configファイルを持っています。

WebJob内の他のコードもすべてコメントアウトしています。そのため、開始してキューに接続しようとするだけです。

最後に、ライブストレージの接続文字列を宣言しても、私は同じ例外が発生します。

なぜですか?これらの接続の詳細には何が問題なのですか?

+0

各プロジェクトで使用しているMicrosoft.Azure.WebJobsのバージョンは何ですか? Microsoft.Azure.WebJobsパッケージのv1.xでは、AzureWebJobsDashboardまたはAzureWebJobsStorageのエミュレータを使用することはサポートされていません(サポートされていないものは覚えていません)。 > = v2.xに達するまで、エミュレータを使用することはできませんでした。 –

+0

これをコメントではなく回答に入れると、フルポイントを得ることができます。 – awj

+0

完了し、ありがとう。 –

答えて

3

Microsoft.Azure.WebJobs v1.x以前を実行しているかどうかを確認してください。 Microsoft.Azure.WebJobsパッケージのv1.xでは、AzureWebJobsDashboardまたはAzureWebJobsStorageのエミュレータを使用することはサポートされていません(サポートされていないものは覚えていません)。 > = v2.xに達するまで、エミュレータを使用することはできませんでした。

+1

華麗な、それだけです。私は、VS 2017 WebJobプロジェクトテンプレートを使用した場合、最新のものになると思いますが、明らかにそうではないと思いました。それは、すぐにv1.2を参照していました。v2にアップデートすることで問題は解決します。 – awj

関連する問題