Q1:SQLiteを配置する適切な場所はどこだと思いますかAzure Web Appファイルシステムのデータベースファイル(database.sqlite
)?例えば:
D:\home\data\database.sqlite
D:\home\site\database.sqlite
D:\home\site\wwwroot\database.sqlite
Q2:誤ってデータベースファイルにアクセスできないようにするため、および誤ってデータベースファイルにアクセスできないようにするために、他に考慮すべきことデプロイ時またはアプリのスケールアップ/ダウン時に上書きされますか? (WebアプリはローカルGitリポジトリからのデプロイメント用に構成されています)
Q3:公式のソースURLであるAzure App Serviceで使用されているファイルシステムの詳細はどこで確認できますか?例えば。単一のWebアプリ内の複数のVM間でどのように共有されるか、アプリが拡大/縮小されるときの動作、D:\home
(永続的)とD:\local
(非永続的)の違い。
SQLiteはAzure Blob Storageでは機能しないことに注意してください。オプションではありません。別のストレージソリューションを提案しないでください。この質問は特にSQLiteについてです。
Webアプリでは、アプリはd:\home\site\wwwroot
にデプロイされます。これは、ファイルを書き込むことができる領域です。例として、ghost
デプロイメントはSQLiteデータベースをd:\home\site\wwwroot\content\data\ghost.db.
に書き込みます(yourapp.scm.azurewebsites.net
を使用してkuduコンソールを開くと、これを簡単に確認できます)。
このファイル領域は、Webアプリインスタンス間で共有されます。 SMBファイル共有と同様ですが、Webアプリに固有です(Azureのファイルサービスとは異なります)。
アプリサービスを削除しない限り、wwwroot
の下のコンテンツは永続的です。スケールアップ/スケールダウンは、使用可能なスペースの量に影響を与えます。 (downにスケーリングし、サイズが小さいと、すでに消費しているサイズよりもディスク容量が少なくなると、どうなるかわかりません)。
最適な場所は、site/wwwrootフォルダーのapp_dataフォルダーです。フォルダが存在しない場合は作成します。