Projekte in S3-Buckets
Statt in einem Ordner auf dem Server kann ein Projekt seine Dateien in einem S3-Bucket ablegen: AWS S3, MinIO, SeaweedFS oder jeder andere Speicher mit S3-Schnittstelle. Unterhalb des Präfixes des Projekts ist der Aufbau genau der eines Projektordners (Datumsordner, <Bild>.png, .csv, .json). Ein Ordner lässt sich also mit jedem S3-Werkzeug (aws s3 sync, mc mirror, …) in einen Bucket kopieren und zurück, und LumiScan Training liest dieselben Dateien.
1. Buckets konfigurieren
Der Server-Admin trägt die Buckets in die Konfiguration ein. Die Zugangsschlüssel bleiben in der Konfiguration; der Browser sieht nur den Namen.
"s3_targets": [
{ "name": "aws-frankfurt", "endpoint": "https://s3.eu-central-1.amazonaws.com",
"region": "eu-central-1", "bucket": "annotation-data", "path_style": false,
"access_key_id": "AKIA...", "secret_access_key_file": "aws-annotation.secret" },
{ "name": "seaweedfs-lab", "endpoint": "https://s3.lab.example.com:8333", "bucket": "annotation",
"path_style": true, "access_key_id": "annotation-server",
"secret_access_key_file": "seaweedfs-annotation.secret", "ca_file": "root-ca.pem" }
]
| Schlüssel | Bedeutung |
|---|---|
|
Wird Admins beim Anlegen eines Projekts angezeigt; Projekte verweisen darauf. Später nicht umbenennen. |
|
|
|
Die Region des Buckets bei AWS, z. B. |
|
Der Bucket; er muss existieren. |
|
|
|
Die Schlüssel. |
|
Eigene Zertifizierungsstelle für selbst signierte Zertifikate; |
|
|
|
Lokaler Bildzwischenspeicher, Standard 2048 MB in |
|
Je Anfrage, Standard 30. |
2. Projekt in einem Bucket anlegen
Unter Ihrem Namen → Projects → New project (oder Import project) wählen Sie Store the files in: S3 bucket … und geben einen Ordner im Bucket an (das Präfix, z. B. line-5). Ein Bucket nimmt beliebig viele Projekte auf; die Präfixe zweier Projekte dürfen sich nicht überschneiden. Bilder, die schon unter dem Präfix liegen, werden verwendet, wie sie sind; ein Import braucht ein leeres Präfix.
Verhalten
-
Annotationsdateien werden immer aus dem Bucket gelesen und dorthin geschrieben, nie zwischengespeichert. Wurde eine Datei inzwischen im Bucket geändert (durch ein S3-Werkzeug oder einen anderen Server), wird das Speichern wie bei einem Ordner mit einem Konflikt abgelehnt, und die fremde Version bleibt im Verlauf.
-
Bilder werden auf der Festplatte des Servers zwischengespeichert und bei jeder Anfrage mit dem Bucket abgeglichen: Geänderte Bilder werden neu geholt, unveränderte kosten eine kleine Anfrage.
-
Datenbank, Sperren, Sitzungen und Sicherungen bleiben auf dem Server. Das Löschen eines Bucket-Projekts löscht nie etwas im Bucket.
-
Fehlgeschlagene Anfragen (Netzwerk,
503 SlowDown) werden wiederholt; Fehler werden mit dem Grund gemeldet, den S3 angibt (falscher Schlüssel, Uhrzeitabweichung, fehlender Bucket, falsche Region).
Rechte bei AWS
Der IAM-Benutzer oder die Rolle braucht:
-
auf dem Bucket:
s3:ListBucket, -
auf
arn:aws:s3:::<Bucket>/*:s3:GetObject,s3:PutObject,s3:DeleteObject.
Ohne s3:ListBucket beantwortet AWS fehlende Dateien mit 403 statt 404. Halten Sie die Uhr des Servers synchron: AWS lehnt Anfragen ab, die mehr als 15 Minuten abweichen.
MinIO oder SeaweedFS?
Beide funktionieren für LumiScan Annotation Web gleich. Der Hersteller von MinIO veröffentlicht die Community-Edition seit Oktober 2025 nicht mehr als fertige Programme; bestehende Installationen laufen weiter. Für einen neuen selbst betriebenen Speicher ist SeaweedFS (Apache 2.0, aktiv gepflegt) die sicherere Wahl.