Dateisystem
Dateisystem-Einträge stellen Laufzeitmodulen verzeichnisbasierten oder schreibgeschützten eingebetteten Speicher bereit. Diese Seite ist eine Konfigurationsreferenz; ihre YAML-Blöcke sind einzelne Entry-Fragmente und keine vollständigen Projekte.
Entry-Typen
| Art | Beschreibung |
|---|---|
fs.directory |
Verzeichnisbasiertes Dateisystem |
fs.embed |
Schreibgeschütztes eingebettetes Dateisystem |
Verzeichnis-Dateisystem
- name: uploads
kind: fs.directory
directory: "/var/data/uploads"
auto_init: true
mode: "0755"
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
directory |
string | erforderlich | Wurzelpfad |
auto_init |
bool | false | Verzeichnis erstellen wenn nicht vorhanden |
mode |
string | 0755 | Unix-Berechtigungsmodus (oktal) |
base |
string | - | Basis für relative Pfade: project (Arbeitsverzeichnis des Prozesses) oder module (Lade-Wurzel des besitzenden Moduls) |
Absolute Pfade werden unverändert verwendet, unabhängig von base.
Bei einem relativen Pfad hält base: project ihn relativ zum Arbeitsverzeichnis des Prozesses. Sowohl base: module als auch ein nicht gesetztes base lösen ihn gegen die Lade-Wurzel des Moduls auf, dem der Eintrag gehört, ermittelt über den Registry-Owner des Eintrags. Hat der Eintrag kein besitzendes Modul oder dieses Modul keine auflösbare Ressourcen-Wurzel, bleibt der Pfad relativ zum Arbeitsverzeichnis des Prozesses.
Jeder andere Wert wird mit invalid directory base abgelehnt.
Der Modus beschränkt alle Dateioperationen. Ausführungsbits werden automatisch hinzugefügt, wenn alle Lesebits gesetzt sind und kein Ausführungsbit gesetzt ist.
Eingebettetes Dateisystem
- name: static
kind: fs.embed
Eingebettete Dateisysteme laden aus Pack-Ressourcen unter Verwendung der Entry-ID. Sie sind schreibgeschützt.
Operationen
Beide Dateisystemtypen implementieren:
| Operation | Directory | Embed |
|---|---|---|
| Open/Read | Ja | Ja |
| Stat | Ja | Ja |
| Lstat | Ja | Ja |
| ReadDir | Ja | Ja |
| OpenFile (write) | Ja | Nein |
| Remove | Ja | Nein |
| Mkdir | Ja | Nein |
| Rename | Ja | Nein |
Schreiboperationen auf eingebetteten Dateisystemen geben einen Fehler zurück.
Lua-API
Siehe Dateisystem-Modul für Dateioperationen.
Siehe auch
- Dateisystem-Modul - Lua-API-Referenz
- Cloud Storage - S3-kompatibler Objektspeicher
- Template - Aus Dateisystemen geladene Templates