将SQLite数据库文件放在Azure App Service中的位置?

Gri*_*der 14 database sqlite azure azure-web-sites

问题1:您认为在Azure Web App文件系统中放置SQLite数据库文件(database.sqlite)的正确位置在哪里?例如:

  1. D:\home\data\database.sqlite
  2. D:\home\site\database.sqlite
  3. D:\home\site\wwwroot\database.sqlite
  4. 其他?

Q2:为了确保公共用户无法访问数据库文件以及在部署期间或应用程序按比例放大/缩小时不会被意外覆盖,还应考虑哪些因素?(Web App配置为从本地Git存储库进行部署)

问题3:在哪里可以了解有关Azure App Service中使用的文件系统的更多信息,官方源URL?例如,它是如何在单个Web应用程序中的多个VM之间共享的,当应用程序按比例放大/缩小时它是如何工作的,D:\home(持久性)与D:\local(非持久性)之间有什么区别......

请注意,SQLiteAzure Blob存储中不起作用,因此不能选择.请不要建议替代存储解决方案,这个问题具体是关于SQLite的.

参考

Dav*_*gon 6

在Web App中,您的应用程序已部署到d:\home\site\wwwroot.这是您可以编写文件的区域.例如,ghost部署将其SQLite数据库写入d:\home\site\wwwroot\content\data\ghost.db.(如果通过打开kudu控制台,很容易看到这个yourapp.scm.azurewebsites.net):

kudu sqlite例子

此文件区域在您的Web应用程序实例之间共享.类似于SMB文件共享,但特定于Web应用程序(与Azure的文件服务不同).

wwwroot除非您删除应用服务,否则下面的内容是持久的.向上/向下缩放会影响可用空间量.(我不知道如果缩放会发生什么情况和更小的尺寸比你已经消耗什么较少的磁盘空间).

  • @titol - 否:Web 应用程序的实例具有共享存储区域。在这种情况下,它们都引用同一个数据库。这与将数据存储在特定于实例的存储中不同。 (2认同)

小智 -2

Web 应用程序可以连接到存储帐户,因此您实际上可以使用 Blob 存储并将其连接到您的 Web 应用程序。因此,为了了解更多信息,您需要查看相应的文档页面。

然后,您可以在 Web 应用程序设置中选择要使用的存储帐户。您可以在“设置”>“数据连接”下找到它,您可以从下拉框中选择“存储”。