繁体   English   中英

使用node.js的Azure Web Jobs输出文件的URI

[英]URI of Azure Web Jobs output file with node.js

今天,我开始使用运行node.js脚本的Azure Web作业,该脚本在同一目录中输出json文件。 我现在想使用http来使用该文件,但是我不知道正确的uri是什么。 我认为它必须类似于日志所在的位置(顺便说一句,告诉我作业已成功运行),但是我似乎找不到json文件。 不应该是这样吗? https://SiteName.scm.azurewebsites.net/JobName/output.json

编辑:我刚刚使用Webmatrix打开了站点,尽管我可以找到作业文件(在/ App_Data / jobs / triggered / JobName下),但似乎日志中并未保存json文件。 有人知道您是否可以像这样在网络作业中保存文件吗?

fs.writeFile(outputFilename, JSON.stringify(output, null, 4), function(err) {
    if(err) {
        console.log(err);
    } else {
        console.log("JSON saved to " + outputFilename);
    }
});  

顺便说一句。 如果要使用Azure服务器静态JSON,则必须编辑Web.config: http : //blogs.msdn.com/b/africaapps/archive/2013/06/07/how-to-serve-static-json-文件从-一个窗口,蔚website.aspx

该文件不在WebJob二进制文件旁边的原因是,在调用WebJob之前,该文件首先被复制到一个临时目录( %temp%\\jobs\\triggered\\jobName\\randomName )并从那里运行,这样就没有文件了锁定,您可以随时更新WebJob的二进制文件。

当使用WebJob持久保存文件时,使用的适当路径是使用WEBROOT_PATH环境变量,因为它具有您的wwwroot的路径。

如果您只想私下访问此文件(因为wwwroot是公共可见的),则可以上一层,例如: %WEBROOT_PATH%/../output.json

另一个选择是使用: d:\\home ,对于上下文wwwroot,位于: d:\\home\\site\\wwwroot

要访问该文件,请使用以下URL: https : //SiteName.scm.azurewebsites.net/vfs/site/output.json ,您需要提供部署凭据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM