# Bewährte Verfahren

Nutzen Sie Transloadit optimal hinsichtlich Sicherheit, Zuverlässigkeit und Performance.

## Sicherheit

### Templates verwenden

Mit Templates können Sie Assembly Instructionsbei 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 mitAssembly Notifications undAssembly Replays kombinieren.
* Bei Bedarf können Sie bestimmte Werte weiterhin zur Laufzeit überschreiben.

Weitere Informationen:

* [Templates](/de/docs/topics/templates.md)
* [Template-Zugangskonfigurationen](/de/docs/topics/template-credentials.md)

### 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](/de/docs/api/authentication.md) und HTTPS-Endpunkte (`https://api2.transloadit.com`).

Dies schützt die Integrität Ihrer Anfragen und hilft, unbefugte Nutzung zu verhindern.

### Zugangskonfigurationen mit minimalen Berechtigungen verwenden

Wenn Sie Zugriff auf Storage gewähren, beispielsweise auf S3, beschränken Sie den Berechtigungsumfang der Zugangskonfigurationen auf die mindestens erforderlichen Aktionen und Speicherorte. Für[🤖/s3/store](/docs/robots/s3-store.md) reichen beispielsweise häufig Zugangskonfigurationen 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:

1. Laden Sie die Dateien zuerst hoch oder importieren Sie sie.
2. Lassen Sie die Verarbeitung asynchron fortfahren.
3. 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](/de/docs/topics/webhooks.md)

### 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[*].id`
* `results[*].original_id`

### Anzahl der Eingabedateien pro Assembly begrenzen

Sehr große Eingabemengen in einer Assembly können nachteilig sein:

* Sie können Ihre verfügbare Prioritätskapazität ü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 Assemblyfortgesetzt, 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über `true`, damit nur die Phasen ignoriert werden, bei denen Sie Fehler tolerieren möchten.
* Überwachen Sie `ignored_errors` und `ignored_error_count` imAssembly Status, damit Ihr Team auch über ansonsten unbemerkte Fehler informiert wird.

Weitere Informationen: [Der Parameter ignore\_errors](/de/docs/topics/ignore-errors.md)

### 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](/de/docs/robots.md).

***

## Performance und Kosten

### Über Smart CDN ausliefern

Wenn Sie verarbeitete Inhalte an Endbenutzer ausliefern, verwenden Sie das[Transloadit Smart CDN](/de/services/content-delivery/).

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](/docs/robots/file-serve.md).
* Bevorzugen Sie URL-basierte Transformationen, wenn diese geeignet sind.
* Halten Sie Cache-Schlüssel stabil und explizit.

Weitere Informationen: [Inhaltsauslieferung](/de/services/content-delivery/)

### 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.
