【发布时间】:2016-08-01 13:03:04
【问题描述】:
我已经制作了一个简单的 Java Web 应用程序,它在 tomcat 上运行以探索 azure 环境。
我可以从网络应用程序读取文件(通过 FTP 部署到网络应用程序的根目录),路径由 HOME 环境变量(azure 自己的环境变量,解析为 D:\home)表示:
String home = env.getProperty("HOME");
FileInputStream fis;
try {
fis = new FileInputStream(home + "/" + "input.txt");
//...
fis.close();
} catch (IOException e) {
//...
}
但我无法将文件写入同一路径:
String home = env.getProperty("HOME");
File file = new File(home + "/output.txt");
try {
FileOutputStream fos = new FileOutputStream(file, true);
//...
fos.flush();
fos.close();
} catch (IOException e) { //ACCESS DENIED
return "ERROR :" + e.getMessage();
}
以上代码因访问被拒绝错误而失败。
我可以将持久性文件写入 azure 中的某个路径,还是需要云原生存储?
【问题讨论】:
-
我不建议将文件保存到 Azure 上的本地存储;我的理解是他们可能会将您的应用移动到另一个实例,并且它们只会包含您在部署应用时上传的原始包。
-
@MokhtarAshour - Azure Web Apps 提供 durable 存储,除非您完全删除它,否则该存储会与您的应用保持一致。这与 VM 中的暂存盘不同。
-
感谢您的澄清
标签: java azure azure-web-app-service