今天我開始使用運行node.js腳本的Azure Web作業,該腳本在同一目錄中輸出json文件。我想現在使用http來使用該文件,但我無法弄清楚正確的uri是什麼。 我認爲它必須與日誌的位置相似(順便說一下,工作成功運行),但我似乎無法找到json文件。 不應該是這樣的嗎? https://SiteName.scm.azurewebsites.net/JobName/output.json使用node.js Azure Web作業輸出文件的URI
編輯: 我剛打開使用WebMatrix的網站,雖然我能找到的工作文件(在/ App_Data文件/工作/觸發/作業名),這似乎是JSON文件未保存,雖然日誌這樣說。任何人都知道,如果你可以像這樣在webjob中保存文件?
fs.writeFile(outputFilename, JSON.stringify(output, null, 4), function(err) {
if(err) {
console.log(err);
} else {
console.log("JSON saved to " + outputFilename);
}
});
Btw。如果要使用Azure爲靜態JSON服務器,則必須編輯Web.config: http://blogs.msdn.com/b/africaapps/archive/2013/06/07/how-to-serve-static-json-files-from-a-windows-azure-website.aspx
這將起作用,但您確實不應將文件寫入您的網站的文件系統。將它寫入blob存儲。 –
謝謝,我能夠實現我想要使用這樣的URI: var outputFilename ='d:\\ home \\ site \\ wwwroot \\ output.json'; %WEBROOT_PATH%對我來說不起作用(我用它錯誤地使用了它......) @MarkRendle在這種情況下使用blob的優點是什麼?使用簡單的http reqeust來使用json還是可以使用的嗎? – Thomas
@Thomas,看起來你不能使用環境變量作爲常規路徑的一部分。 (至少不用我試過的Path類方法。)但是,你可以通過'Environment.GetEnvironmentVariable(「WEBROOT_PATH」)'獲得值,或者使用'Environment.ExpandEnvironmentVariables()'來解析你的字符串。 – MEMark