Dokumentation von zu unterstützenden Dateigrößen
User Story
- Als Nutzer
- möchte ich genau wissen welche Rahmenbedingungen im Umgang mit Anhängen einzuhalten sind
- damit der Antragsprozess transparent und zuverlässig mit minimalen Supportaufwänden durchgeführt werden kann.
Warum?
In Bezug auf die maximale versendbare Datenmenge besteht momentan eine gewisse Unklarheit, die es zu beseitigen gilt. Hierfür ist es erforderlich, regelmäßige Lasttests durchzuführen, um die maximale Größe eines Anhangs zu überprüfen. Die Ergebnisse dieser Tests sollten die Grundlage für dieses Story dienen und dann regelmäßig dem PO und den Entwicklern zur Verfügung stehen. Dies ermöglicht es, Probleme frühzeitig zu erkennen und diesen vorzubeugen.
Werte für Attachmentgröße / Attachmentanzahl
- Die Werte sind pro Submission / Reply.
- Ein Case kann mehrere Submissions / Replies haben und dadurch auch entsprechend anwachsen.
- Bei zu vielen parallel Anfragen signalisiert das FIT-Connect mit passenden Fehlermeldungen (429, 413, ...), das die Anfrage zu einem späteren Zeitpunkt wiederholt werden sollte.
Attachmentgröße
- Attachmentgröße (empfohlen): 200MB
- Attachmentgröße (maximal): 500MB (unverschlüsselt)
Attachmentanzahl
- Attachmentanzahl (empfohlen): 30
- Attachmentanzahl (maximal): 100
Gesamtgrößen (Summe aller Attachments einer Submission / Reply)
- Gesamtgröße:
- 2 GB
- 5 GB (z.B. 25 Attachments mit je 200 MB, unverschlüsselt) mit entsprechender Freigabe (noch nicht publizieren)
Kommentare
- Für einzelne Dateien, die größer als 200 MB empfehlen wir das Chunking zu verwenden.
- Die Werte sind für eine verschlüsselte Datei.
- Eine 500MB verschlüsselte Datei hat vor Verschlüsselung ca. 374.99MB (500MB * 3/4 [Base64] - 10kB [sehr großzügiger JWE Overhead]).
- Mit 1MB meinen wir Megabytes, also 1.000.000 bytes. Wir verwenden nicht MiB (Mebibytes).
- Extrembeispiel A: 500MB * 100 = 100GB. Überschreitet Gesamtgröße -> Fail (beim Upload des 13. Attachments).
- Extrembeispiel B: 1kB * 10000 = 5GB. Überschreitet Anzahl -> Fail (beim announcen der Attachments).
Akzeptanzkriterien
-
Ein passender Fehlercode (z.B. 413, 429, ggf. weitere) wurden festgelegt und dokumentiert. - bei Überschreitung von MAX (>500 MB oder >100 Anhänge) Fehler und ablehnen
- Anzahl der DB-Verbindungen überwachen -> 429
-
Die API-Spezifikation weist den Fehler bei allen betroffenen Endpunkten aus. -
Sofern die bereits vorhandenen HTTP 413 Responses nicht passen, wurden sie entfernt. -
Überall in der öffentlichen Dokumentation sind die obigen Werte entsprechend angepasst. --> @Hans_Harengerd - Mittelfristig arbeiten wir daran in den SDKs auch noch größere Dateien zu unterstützen.
Alter Text
Eine technische Limitierung der Anzahl an Attachments und der Dateigrößen ist in FIT-Connect nicht implementiert. Wir empfehlen, Anlagen bis zu einer Größe von maximal 200MB pro Anlage zu versenden. Die Übermittlung von Anlagen von bis zu 200 MB stellen wir durch regelmäßige Performancetests sicher. Bei größeren Anlagen kann es erfahrungsgemäß bei der Übertragung aufgrund technischer Gegebenheiten in den beteiligten IT-Systemen zu Verbindungsabbrüchen kommen. Wenn Sie in Ihrem konkreten Anwendungsfall den Bedarf an der Übermittlung größerer Anlagen sehen, würden wir uns über einen kurzen Hinweis freuen, sodass wir auch größere Anlagen in unseren internen Performancetests entsprechend berücksichtigen.
Weitere Infos
Es sind bereits noch ungenutzte HTTP 413 Fehler angelegt. Diese müssen, falls nicht passend, entfernt werden.
'413': # TODO: Check
description: Request Entity Too Large
content:
application/problem+json:
schema:
$ref: ../../schemas/error.yaml
Follow-Up
- Konfig der Einschränkungen nach Abschluss des INF-Lasttests (planning#1345)
- SDKs sollten anderen Größenordungn angeben (diese sind unverschlüsselt)
- Wollen wir das Max der Gesamtantrags auch ergänzen (planning#1521)