2017-04-04 96 views
2

我開始使用Azure功能進行開發。我已經能夠連接到我的實際Azure存儲帳戶隊列,以測試如何使用Azure功能進行編程。現在我的下一步是使用Microsoft Azure存儲資源管理器來使用本地存儲帳戶,因此我不必連接到azure。我看到如何做到這一點在這篇文章中:如何訪問本地PC上的仿真Azure存儲

ScriptHost initialization failed Microsoft.WindowsAzure.Storage: The remote server returned an error: (403) Forbidden.

有沒有人遇到這樣的:https://docs.microsoft.com/en-us/azure/storage/storage-configure-connection-string#create-a-connection-string-to-the-storage-emulator

in the appsettings.json I changed my values to this exactly: 
{ 
    "IsEncrypted": false, 
    "Values": { 
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==", 
    "AzureWebJobsDashboard": "", 
    "StorageConnectionString": "UseDevelopmentStorage=true" 

    } 
} 

當我使用Visual Studio我得到這個錯誤信息啓動了Azure的Fuctions CLI?

+0

這裏有一個關於這博客:https://blog.kloud.com.au/2016/12/02/debugging-azure-functions-in-our-local-box/ 提琴手可能捕捉爲什麼有用的信息請求失敗 –

回答

4

請更改下面的代碼行:

"AzureWebJobsStorage": "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==" 

要麼:

"AzureWebJobsStorage": "UseDevelopmentStorage=true" 

或:

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

這應該採取403錯誤的照顧。

基本上存儲模擬器與雲存儲帳戶有不同的端點。例如,雲存儲帳戶的默認blob端點爲http://[youraccount].blob.core.windows.net,而存儲模擬器的blob端點爲http://127.0.0.1:10000。當您只需在連接字符串中爲存儲模擬器指定存儲帳戶名稱和密鑰時,存儲客戶端庫將其視爲雲存儲帳戶,並嘗試使用您提供的帳戶密鑰連接到http://devstoreaccount1.blob.core.windows.net。由於devstoreaccount1在雲中的密鑰不是您提供的密鑰,因此您得到了403錯誤。

+0

感謝您添加「AzureWebJobsStorage」:「UseDevelopmentStorage = true」。我很困惑如何使用它。 – greektreat

相關問題