Bewährte Verfahren
Nutzen Sie Transloadit optimal hinsichtlich Sicherheit, Zuverlässigkeit und Performance.
Sicherheit
Templates verwenden
Mit Templates können Sie Assembly Instructions
bei uns im Ruhezustand verschlüsselt speichern. Anschließend verweisen Sie in Ihrer API-Anfrage per template_id auf
ein Template. Das ist sicherer, als bei jeder Anfrage die vollständigen Anweisungen zu senden, insbesondere wenn diese
Zugangsdaten von Drittanbietern enthalten.
Templates erleichtern außerdem den Betrieb:
- Sie können das Verarbeitungsverhalten ändern, ohne Ihre App erneut bereitzustellen.
- Sie können Templates mit Assembly Notifications und Assembly Replays kombinieren.
- Bei Bedarf können Sie bestimmte Werte weiterhin zur Laufzeit überschreiben.
Weitere Informationen:
Browserseitige Anfragen signieren
Wenn Anfragen clientseitig erzeugt werden können, sollten Sie davon ausgehen, dass Ihr Auth Key sichtbar werden kann. Verwenden Sie
Signature Authentication und HTTPS-Endpunkte (https://api2.transloadit.com).
Dies schützt die Integrität Ihrer Anfragen und hilft, unbefugte Nutzung zu verhindern.
Zugangsdaten mit minimalen Berechtigungen verwenden
Wenn Sie Zugriff auf Storage gewähren, beispielsweise auf S3, beschränken Sie den Berechtigungsumfang der Zugangsdaten auf die mindestens erforderlichen Aktionen und Speicherorte. Für 🤖/s3/store reichen beispielsweise häufig Zugangsdaten mit reinen Schreibrechten für den Export aus.
Zuverlässigkeit
Asynchrone Verarbeitung bevorzugen
Wenn Benutzer vor dem Fortfahren auf die vollständige Verarbeitung warten müssen, wirkt sich die Wartezeit in der Queue direkt auf die Benutzerfreundlichkeit aus.
Ein besseres Vorgehen:
- Laden Sie die Dateien zuerst hoch oder importieren Sie sie.
- Lassen Sie die Verarbeitung asynchron fortfahren.
- Verwenden Sie Assembly Notifications, um Ihr Backend zu aktualisieren, sobald die Assembly abgeschlossen ist.
So bleibt Ihre Benutzeroberfläche reaktionsschnell und Benutzer müssen nicht auf Konvertierungen warten.
Weitere Informationen: Webhooks und Notifications
Nicht auf die Reihenfolge der Ergebnisse verlassen
Es ist nicht gewährleistet, dass Ergebnis-Arrays über mehrere Steps hinweg positionsgleich angeordnet sind. Wenn Sie verarbeitete Dateien ihren Originalen zuordnen müssen, gleichen Sie die IDs ab:
uploads[*].idresults[*].original_id
Anzahl der Eingabedateien pro Assembly begrenzen
Sehr große Eingabemengen in einer Assembly können nachteilig sein:
- Sie können Ihre verfügbaren Priority Job Slots überschreiten.
- Das Risiko steigt, die maximale Ausführungszeit einer Assembly von 8 Stunden zu erreichen.
Als praktische Richtlinie sollten Sie die Anzahl hochgeladener und importierter Eingabedateien auf etwa 500 bis 1000 Dateien pro Assembly begrenzen, abhängig vom Verarbeitungsaufwand pro Datei.
ignore_errors gezielt verwenden
Mit dem Step-Parameter ignore_errors wird eine Assembly
fortgesetzt, wenn bestimmte Fehler einzelner Dateien akzeptabel sind. Dies ist bei Batch-Verarbeitung oder optionaler
Metadatenextraktion hilfreich. Fehler werden dadurch jedoch weniger sichtbar. Verwenden Sie den Parameter daher gezielt:
- Bevorzugen Sie spezifische Arrays wie
["meta"]gegenübertrue, damit nur die Phasen ignoriert werden, bei denen Sie Fehler tolerieren möchten. - Überwachen Sie
ignored_errorsundignored_error_countim Assembly Status, damit Ihr Team auch über ansonsten unbemerkte Fehler informiert wird.
Weitere Informationen: Der Parameter ignore_errors
Dokumentation jedes Robots lesen
Demos sind ein guter Ausgangspunkt. Das Verhalten in der Produktion hängt jedoch häufig von Optionen, Sonderfällen und Grenzwerten ab, die für den jeweiligen Robot dokumentiert sind.
Prüfen Sie Ihren konkreten Ablauf vor der Einführung anhand der relevanten Robot-Dokumentation.
Performance und Kosten
Über Smart CDN ausliefern
Wenn Sie verarbeitete Inhalte an Endbenutzer ausliefern, verwenden Sie das Transloadit Smart CDN.
Wichtige Vorteile:
- Geringere Latenz durch Edge-Auslieferung.
- Höhere Zuverlässigkeit unter Last.
- Weniger wiederholte Verarbeitung und geringerer Origin-Traffic durch Caching.
Bewährte Verfahren:
- Konfigurieren Sie das Caching-Verhalten für 🤖/file/serve.
- Bevorzugen Sie URL-basierte Transformationen, wenn diese geeignet sind.
- Halten Sie Cache-Schlüssel stabil und explizit.
Weitere Informationen: Inhaltsauslieferung
Dateien auf weniger Assemblies verteilen
Assemblies sind aufwendiger als einzelne Dateivorgänge. Wenn Sie Dateien auf weniger Assemblies verteilen, können Sie den Durchsatz erhöhen und den Overhead reduzieren, insbesondere bei großen Importen.
Halten Sie bei Importen die gesamte Batch-Größe so, dass Retries praktikabel bleiben und die Betriebssicherheit gewährleistet ist.
Encoding-Stacks aktuell halten
Wir halten ältere Stacks weiterhin verfügbar, um die Abwärtskompatibilität zu gewährleisten. Sie sollten jedoch regelmäßig auf neuere Stacks aktualisieren, um Fehlerbehebungen, Performance-Verbesserungen sowie Aktualisierungen für Codecs und Tools zu erhalten.
Überprüfen Sie die Stack-Einstellungen mindestens einmal pro Jahr und testen Sie die Änderungen, bevor Sie den Produktions-Traffic umstellen.
Kostenlimit festlegen
Während der Integration können versehentliche Schleifen entstehen und unerwartete Nutzungsspitzen verursachen. Ein Kostenlimit ist eine nützliche Sicherheitsvorkehrung.
Legen Sie es hoch genug für normales Wachstum fest, aber niedrig genug, um eine unerwartet ausufernde Nutzung zu begrenzen.