Wo finde ich die SQLite-Datenbankdatei im Azure App Service?

8

Q1 : Wo finden Sie die richtige Stelle für eine SQLite -Datenbankdatei ( database.sqlite ) in der Azure Web App -Datei? System? Zum Beispiel:

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

Q2 : Was sollte noch beachtet werden, um sicherzustellen, dass die Datenbankdatei nicht für öffentliche Benutzer zugänglich ist und nicht versehentlich während Bereitstellungen oder während der App überschrieben wird? vergrößert / verkleinert? (Die Web App ist für Bereitstellungen aus einem lokalen Git-Repository konfiguriert.)

Q3 : Wo erfahren Sie mehr über das im Azure App Service verwendete Dateisystem, die offizielle Quell-URL? Z.B. wie es zwischen mehreren VMs innerhalb einer einzelnen Web App geteilt wird, wie funktioniert es, wenn die App hoch / runter skaliert wird, was ist der Unterschied zwischen D:\home (persistent) vs D:\local (nicht persistent) ...

Beachten Sie, dass SQLite nicht in Azure Blob Storage funktioniert, sodass eine Option nicht verfügbar ist. Bitte schlagen Sie keine alternativen Speicherlösungen vor, diese Frage bezieht sich speziell auf SQLite .

Referenzen

Grief Coder 19.05.2016, 08:23
quelle

3 Antworten

4

In einer Web App wird Ihre App in d:\home\site\wwwroot bereitgestellt. In diesem Bereich können Sie Dateien schreiben. Zum Beispiel schreibt die ghost -Implementierung ihre SQLite-Datenbank in d:\home\site\wwwroot\content\data\ghost.db. (leicht zu sehen, wenn Sie die Kudu-Konsole über yourapp.scm.azurewebsites.net öffnen):

Dieser Dateibereich wird unter Ihren Web-App-Instanzen geteilt. Ähnlich einer SMB-Dateifreigabe, aber spezifisch für Web-Apps (und anders als der Azure-Dateidienst).

Der Inhalt unter wwwroot ist dauerhaft, es sei denn, Sie löschen Ihren App-Service. Die Skalierung nach oben / unten wirkt sich auf den verfügbaren Speicherplatz aus. (Ich habe keine Ahnung, was passiert, wenn Sie down skalieren, und die kleinere Größe hat weniger Speicherplatz als Sie bereits verbrauchen).

    
David Makogon 19.05.2016 12:34
quelle
0

Ich würde sagen, der beste Ort wäre der Ordner app_data im Ordner site / wwwroot. Erstellen Sie den Ordner, wenn er nicht existiert.

    
Puneet Gupta 19.05.2016 09:41
quelle
-1

Web Apps können eine Verbindung zu Speicherkonten herstellen, sodass Sie tatsächlich Blobspeicher verwenden und diesen mit Ihrer Webanwendung verbinden können. Um mehr darüber zu erfahren, müssen Sie sich die entsprechende Seite von Dokumentation .

In Ihren Web App-Einstellungen können Sie dann auswählen, welches Speicherkonto verwendet werden soll. Sie finden dies unter Einstellungen & gt; Datenverbindungen, wo Sie Speicher aus der Dropdown-Box auswählen können.

    
Martyn C 19.05.2016 08:49
quelle
yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '394640',
    'url' => 'where-to-put-sqlite-database-file-in-azure-app-service',
];

$_SESSION = [
    '__flash' => [],
];