Wichtigste Erkenntnisse
- Verwenden Sie eine Assembly, um einen Upload entgegenzunehmen, ihn zu validieren, feste Ausgaben zu erstellen und die ausgewählten Originale oder Derivate nach S3 zu exportieren.
- Verwenden Sie separate Templates nur für Uploads, für Bilder und für Videos, damit jeder akzeptierte Medientyp einen expliziten Verarbeitungs- und Fehlervertrag hat.
- Verwenden Sie Smart CDN, um ein vorhandenes S3-Objekt über ein gespeichertes Template zu importieren, es bei einem Cache-Miss zu transformieren und das ausgelieferte Ergebnis zu cachen.
Eine Anfrage nach „Datei-Uploads, Bildoptimierung, Video-Encoding und einem eigenen S3-Bucket“ verbirgt mehrere unterschiedliche Verträge. Ein Upload kann unverändert gespeichert werden, ein Bild kann vor dem Export optimiert werden, oder ein Video kann in eine getestete Variante codiert werden. Manche Bildgrößen oder -formate lassen sich günstiger erst dann erzeugen, wenn ein Browser danach fragt. Transloadit unterstützt jeden dieser Wege, doch sie haben unterschiedliche Grenzen bei Speicherung, Latenz, Cache und Sicherheit.
Worauf es besonders ankommt
- Bewahren Sie AWS-Zugangsdaten in Template-Zugangsdaten mit minimalen Berechtigungen auf, und erzeugen Sie die Autorisierung für Uploads oder Smart CDN auf einem vertrauenswürdigen Server.
- Behandeln Sie S3 als dauerhaftes System of Record, nicht als Beweis dafür, dass Datei-Bytes niemals durch die Verarbeitungs- und Cache-Infrastruktur von Transloadit laufen.
- Verarbeiten Sie Ausgaben vor, die vor der Veröffentlichung existieren müssen; nutzen Sie begrenzte On-Demand-Varianten, wenn die Nachfrage nach Derivaten unvorhersehbar ist.
- Speichern Sie Originale, feste Derivate oder beides gemäß den Wiederherstellungs- und Migrationsanforderungen der Anwendung.
Arbeiten zum Upload-Zeitpunkt von Arbeiten zum Anfragezeitpunkt trennen
Beginnen Sie mit zwei Wegen statt einer vagen „Optimierungspipeline“. Auf dem Upload-Zeitpfad sendet ein Browser eine Datei über Uppy und tus an eine Transloadit-Assembly. Das gespeicherte Template validiert die eingegangene Datei, erstellt alle Ausgaben, die sofort existieren müssen, und exportiert ausgewählte Dateien nach S3. Die Anwendung speichert die Assembly-ID und die dauerhafte S3-Objektidentität mit ihrem Asset-Datensatz.
Auf dem Anfrage-Zeitpfad fordert ein Browser eine Smart-CDN-URL an. Die URL identifiziert ein gespeichertes Template und einen Eingabepfad in S3. Bei einem Cache-Miss importiert Transloadit dieses Objekt, wendet das Template mit den zulässigen Assembly Variables an und liefert ein Ergebnis über /file/serve aus. Die Auslieferungsschicht cacht die Antwort; eine erneute Anfrage kann das Derivat wiederverwenden, ohne die Transformation erneut auszuführen.
Upload-Zeitpfad
Browser → Uppy/tus → Assembly → Validierung und feste Transformationen → Kunden-S3.
Anfrage-Zeitpfad
Browser → Smart-CDN-URL → Cache-Miss → S3-Import und Transformation → Edge-Cache → Browser.
Eigentumsgrenze
Kunden-S3 enthält die dauerhaften Objekte der Anwendung; temporäre Verarbeitungsdateien und gecachte Derivate haben separate Aufbewahrungsregeln.
Eine hochgeladene Datei ohne Transformation in S3 speichern
Verwenden Sie ein Upload-only-Template, wenn Transloadit die akzeptierte Datei entgegennehmen und exportieren soll, ohne ihre Medien-Bytes zu ändern. /upload/handle nimmt die Eingabe entgegen, und /s3/store wählt :original. Der Zielpfad nutzt Assembly Variables, damit sich gleichzeitige Uploads nicht gegenseitig überschreiben, während der ursprüngliche, URL-sichere Dateiname erkennbar bleibt.
Das Beispiel verweist auf Template-Zugangsdaten und setzt acl: "private", da /s3/store standardmäßig public-read verwendet. Setzen Sie bucket_region auf die tatsächliche AWS-Region des Buckets, um einen GetBucketLocation-Lookup zu vermeiden, und entfernen Sie s3:GetBucketLocation aus der IAM-Richtlinie dieser Zugangsdaten. Behandeln Sie ein öffentliches Objekt als ausdrückliche Produktentscheidung, und prüfen Sie den tatsächlichen S3-Zugriff getrennt von der Einstellung des Robots.
{
"allow_steps_override": false,
"steps": {
":original": { "robot": "/upload/handle" },
"stored": {
"use": ":original",
"robot": "/s3/store",
"credentials": "my_s3_credentials",
"bucket_region": "us-east-1",
"acl": "private",
"path": "uploads/${unique_prefix}/${file.url_name}"
}
}
}Den Upload empfangen, validieren, optimieren und exportieren
Verwenden Sie ein gespeichertes Bild-Template, um zu begrenzen, was Browsercode anfordern darf. /upload/handle nimmt die Datei entgegen, /file/filter kann Dateien ablehnen, deren erkannte Eigenschaften der Richtlinie nicht entsprechen, /image/resize erstellt ein festes WebP-Derivat, und /image/optimize verkleinert diese Ausgabe. /s3/store exportiert dann genau die Steps, die sein use-Wert benennt. Richten Sie es nur auf optimized, um das Derivat zu speichern, nur auf accepted_images, um das akzeptierte Original zu speichern, oder auf beide, um beide Objekte zu behalten. preserve_meta_data bleibt bewusst auf seinem Standardwert true, um Bildmetadaten wie Urheberrechtsangaben des Fotografen zu erhalten, auch wenn dies unter der Priorität compression-ratio eine geringfügige Größenzunahme bedeutet.
Uppy ist die Upload-Ebene im Browser, nicht die Autorisierungsgrenze. Lassen Sie das Transloadit-Plugin kurzlebige, signierte Assembly-Parameter vom Anwendungsserver anfordern. Lassen Sie allow_steps_override deaktiviert, wenn der Browser die gespeicherten Steps nicht ersetzen oder ein anderes Ziel auswählen darf. Verwenden Sie erneut die private ACL und die tatsächliche AWS-Bucket-Region aus dem Nur-Upload-Beispiel. Sowohl ${file.id} als auch ${unique_prefix} sind für jede exportierte Datei eindeutig; dieses Bildbeispiel verwendet die schrägstrichfreie ${file.id}, sodass das mittlere Pfadsegment aus einer einzigen Komponente besteht, was vorhersehbare Schlüssel images/${file.id}/${file.url_name} ergibt, die Smart CDN referenzieren kann, während die Upload- und Videobeispiele ${unique_prefix} als kollisionsvermeidendes Verzeichnis verwenden. Da ${file.id} für jede exportierte Datei eindeutig ist, lösen accepted_images und optimized zu unterschiedlichen Schlüsseln unter images/ auf; die gemeinsame Pfadvorlage überschreibt nichts, daher sollten Sie jeden exportierten Schlüssel separat im Anwendungszustand erfassen. Betrachten Sie den Upload für das Produkt erst als abgeschlossen, nachdem die Anwendung das Assembly-Ergebnis und die dauerhaften S3-Schlüssel abgeglichen hat.
{
"allow_steps_override": false,
"steps": {
":original": { "robot": "/upload/handle" },
"accepted_images": {
"use": ":original",
"robot": "/file/filter",
"accepts": [["${file.mime}", "regex", "^(image/jpeg|image/png|image/gif|image/webp|image/avif)$"]],
"error_on_decline": true
},
"resized": {
"use": "accepted_images",
"robot": "/image/resize",
"resize_strategy": "fit",
"width": 1600,
"height": 1600,
"format": "webp"
},
"optimized": {
"use": "resized",
"robot": "/image/optimize",
"priority": "compression-ratio",
"preserve_meta_data": true
},
"stored": {
"use": ["accepted_images", "optimized"],
"robot": "/s3/store",
"credentials": "my_s3_credentials",
"bucket_region": "us-east-1",
"acl": "private",
"path": "images/${file.id}/${file.url_name}"
}
}
}Ein Video vor der Speicherung in S3 codieren
Verwenden Sie ein Video-only-Template, wenn das dauerhafte S3-Objekt eine Variante für die Wiedergabe statt der hochgeladenen Quelle sein soll. /video/encode liest :original und wendet eine getestete Voreinstellung an. web/mp4/720p ist ein konkreter Ausgangspunkt mit 1280×720 als MP4, keine universelle Empfehlung; validieren Sie Quellabmessungen, Bildrate, Audio, Untertitel, Qualität, Geräteunterstützung, Verarbeitungszeit und Kosten für den Wiedergabevertrag des Produkts. Begrenzen Sie zudem die Anfragerate für diesen Endpunkt unabhängig vom Upload-Datenverkehr.
Das Beispiel exportiert den encoded-Step und lässt die Quelle bei diesem Speichervorgang aus. Fügen Sie einen zweiten /s3/store-Step hinzu, wenn die Quelle für ein erneutes Encoding in höherer Qualität, Audits oder Migration verfügbar bleiben muss. Encoding kann eine Anwendungsanfrage überdauern, gleichen Sie daher den Assembly Status oder einen verifizierten Abschluss-Callback ab, bevor Sie den S3-Schlüssel als veröffentlichbar behandeln.
{
"allow_steps_override": false,
"steps": {
":original": { "robot": "/upload/handle" },
"encoded": {
"use": ":original",
"robot": "/video/encode",
"preset": "web/mp4/720p"
},
"stored": {
"use": "encoded",
"robot": "/s3/store",
"credentials": "my_s3_credentials",
"bucket_region": "us-east-1",
"acl": "private",
"path": "videos/${unique_prefix}/${file.url_name}"
}
}
}Ein S3-Original bei Bedarf über Smart CDN transformieren
Eine Smart-CDN-Integration beginnt weiterhin mit einem gespeicherten Template. /s3/import löst den Eingabepfad mithilfe eingeschränkter Template-Zugangsdaten auf, /image/resize liest den per URL übergebenen Wert ${fields.w} und den anhand der Anfrage ausgehandelten Wert ${browser.wanted_image_format}, und /file/serve wählt die Antwort aus. Auf diesem Pfad leitet die Smart-CDN-Edge von Transloadit einen vertrauenswürdigen, vornormalisierten x-tl-image-format-Header aus dem Accept-Header des Clients ab. Der Header wird serverseitig geschrieben und ist nicht clientseitig steuerbar; Entwickler verweisen in den Instructions nur auf ${browser.wanted_image_format}, was zum selben Wert avif, webp oder jpg aufgelöst wird.
Eine URL wie https://my-workspace.tlcdn.com/responsive-image/images/a8d3eeeb67479f11f8b091b04f6181ad/canoe.jpg?w=640 übergibt images/a8d3eeeb67479f11f8b091b04f6181ad/canoe.jpg als impliziten Wert ${fields.input} – den Pfad nach dem Template-Namen, ohne führenden Schrägstrich – und 640 als ${fields.w}. Diese Eingabe entspricht dem gespeicherten Schlüssel images/${file.id}/${file.url_name} für das dauerhafte accepted_images-Original, den /s3/import für die On-Demand-Größenänderung liest. Das optimierte Derivat ist ein separates Objekt unter einem eigenen ${file.id}-Präfix. Da sich die beiden Ausgaben kein Verzeichnis teilen, speichern Sie jeden exportierten Schlüssel im Anwendungszustand, statt einen Schlüssel aus dem anderen oder aus der Anfrage-URL abzuleiten.
Behalten Sie das vollständige Präfix images/ in der Smart-CDN-URL bei; fügen Sie es nicht erneut im Template hinzu. Smart-CDN-Abfragewerte kommen als Zeichenketten an, daher wird die Breite mit den String-Literalen "320" und "640" aus der Positivliste der Breiten verglichen; eine nicht übereinstimmende Breite fällt auf 1280 zurück. Wenn Sie die Pfadzuordnung und die Positivliste für Transformationen getrennt halten, lässt sich leichter prüfen, welches S3-Objekt gelesen werden kann und welche Variante angefordert werden kann.
Interpolieren Sie keinen uneingeschränkten Pfad, keine uneingeschränkte Breite, keine uneingeschränkte Qualität und kein uneingeschränktes Format, nur weil dies als Feld eintreffen kann. Beschränken Sie die S3-Zugangsdaten auf ein vorgesehenes Präfix, lassen Sie die vertrauenswürdige Anwendung den exportierten Schlüssel in ihrem Asset-Datensatz nachschlagen und signieren Sie eine URL, die genau diesen Schlüssel enthält. Der Anfrage-Zeitpfad wählt dieses gespeicherte Template über seine Smart-CDN-URL aus, statt vom Browser übermittelte Assembly Instructions zu akzeptieren; deshalb verwendet dieses Beispiel nicht die Upload-Zeit-Einstellung allow_steps_override. Verwenden Sie wie im reinen Upload-Beispiel die tatsächliche AWS-Bucket-Region. Validieren oder mappen Sie Transformationswerte im Template. Einfache Lookups wie ${fields.input} sind kostenlos, während Vergleiche, Arithmetik und Ternäre komplexe Dynamic Evaluation sind: Die Breiten- und Format-Ternäre in diesem Beispiel rufen /script/run auf und werden bei jedem Cache-Miss abgerechnet. Der Format-Ausdruck bildet den jpg-Fallback auf null ab, sodass Anfragen ohne Präferenz für ein modernes Format das Originalformat beibehalten, statt Transparenz oder Animation durch unnötiges erneutes Encoding zu verlieren. Siehe den Eintrag ${browser.wanted_image_format} in der Referenz zu Assembly Variables. Messen Sie die erste ungecachte Transformation getrennt von der anschließenden gecachten Auslieferung.
{
"steps": {
"imported": {
"robot": "/s3/import",
"credentials": "my_s3_credentials",
"bucket_region": "us-east-1",
"path": "${fields.input}"
},
"resized": {
"use": "imported",
"robot": "/image/resize",
"resize_strategy": "fit",
"width": "${fields.w === '320' ? 320 : fields.w === '640' ? 640 : 1280}",
"format": "${browser.wanted_image_format === 'jpg' ? null : browser.wanted_image_format}"
},
"served": {
"use": "resized",
"robot": "/file/serve",
"cache_duration": 604800
}
}
}Entscheiden, was dauerhaft gespeichert und was bei Bedarf erzeugt wird
Ein Original in S3 vorzuhalten, bietet eine stabile Quelle für die erneute Verarbeitung, macht es aber nicht erforderlich, jede responsive Variante zu speichern. Exportieren Sie kanonische Ausgaben, die das Produkt unabhängig von einem Cache benötigt: einen freigegebenen Master, ein Marktplatz-Listingbild, ein Druck-Asset oder ein unveränderliches Release-Derivat. Lassen Sie Smart CDN begrenzte Präsentationsvarianten erstellen, deren Abmessungen vom anfragenden Gerät oder Layout abhängen.
Umgekehrt sollten Sie sich nicht nur auf einen On-Demand-Pfad verlassen, wenn die erste Anfrage keine Verarbeitungslatenz tolerieren kann, ein Redakteur die exakten Pixel freigeben muss oder nachgelagerte Systeme vor der Veröffentlichung ein dauerhaftes Objekt benötigen. In diesem Fall erstellen und exportieren Sie das Derivat in der Assembly zum Zeitpunkt des Uploads. Dieselbe Anwendung kann beide Ansätze für unterschiedliche Ausgabeklassen nutzen, ohne den dauerhaften Eigentümer der Quelle zu ändern.
Dauerhafte Originale
Bewahren Sie Quellen auf, die für künftige Transformationen, Wiederherstellung, Audits oder Migration benötigt werden.
Feste Derivate
Speichern Sie Ausgaben, die geprüft, von anderen Systemen referenziert oder ohne einen Cold-Transform verfügbar sein müssen.
On-Demand-Derivate
Cachen Sie sichere Präsentationsvarianten, deren Kombinationen zwar begrenzt, aber schwer vorherzusagen sind, bevor ein Nutzer sie anfordert.
Dies fair mit einer nativen AWS-Pipeline vergleichen
Erstellen Sie separate Template-Zugangsdaten mit minimalen Berechtigungen, wenn Upload-Exporte und Smart-CDN-Importe unterschiedliche AWS-Aktionen oder -Präfixe benötigen. Halten Sie rohe AWS-Schlüssel, das Auth Secret von Transloadit und uneingeschränkte Instructions aus Browser-Bundles heraus. Der Anwendungsserver sollte den Nutzer autorisieren, das Template auswählen und nur die kurzlebigen Upload-Parameter oder die signierte Smart-CDN-URL ausstellen, die für dieses Asset geeignet sind.
Ein erfolgreicher Upload oder eine gültige Signatur ist keine Freigabe zur Veröffentlichung. Validieren Sie den erkannten MIME-Typ und die Größe in der Assembly, verknüpfen Sie Callbacks idempotent mit dem erwarteten Mandanten und der Assembly, und geben Sie ein Ergebnis erst frei, wenn das dauerhafte Objekt und der Anwendungsdatensatz übereinstimmen. Planen Sie für Smart CDN Quellversionierung, URL-Ablauf, Cache-Lebensdauer und Löschung gemeinsam, damit das Ersetzen eines S3-Schlüssels keine unbeabsichtigte Derivat-Adresse aktiv lässt.
Die Anwendung, den Bucket und die Transformationsoberfläche schützen
Ein nativer Aufbau kann über eine vorsignierte S3-URL hochladen, auf object-created-Ereignisse reagieren, mit Lambda oder einem anderen Rechendienst verarbeiten, Derivate speichern und sie über ein CDN ausliefern. Das kann gut passen, wenn die Last innerhalb der unterstützten Laufzeitgrenzen bleibt und das Team Autorisierung, Wiederholungsversuche, Warteschlangen, Codecs, Nebenläufigkeit, Beobachtbarkeit und Fehlerbehebung selbst betreiben möchte.
Vergleichen Sie vollständige Produktionspfade und nicht nur eine erfolgreiche Größenänderung. Testen Sie unterbrochene Uploads, große Quelldateien, fehlerhafte Bilder, Ausrichtung und Farbe, doppelte Ereignisse, unvollständige Exporte, Nebenläufigkeitsspitzen, kalte Transformationen, Cache-Invalidierung, regionale Latenz und Löschung. Berücksichtigen Sie Entwicklungs- und Betriebsaufwand zusätzlich zu den Kosten für Upload, Verarbeitung, Speicher, Anfragen und Egress. Die entscheidende Wahl ist, welche betrieblichen Verantwortlichkeiten das Team selbst übernehmen möchte.
Wissenswerte technische Details
- Uppys Transloadit-Plugin erstellt eine Assembly und lädt Dateien an ihren tus-Endpunkt hoch, während Anwendungscode signierte Assembly-Parameter von einem vertrauenswürdigen Back-End anfordern kann.
- Ein Assembly Template kann
/upload/handle, Validierungs- oder Transformations-Steps und/s3/storeverbinden; dieuse-Beziehungen bestimmen, ob das Original, Derivate oder beides exportiert werden. /image/optimizekann unterstützte Bilddateien vor/s3/storeverkleinern, während nicht unterstützte Bildtypen unverändert durchlaufen./video/encodeakzeptiert Voreinstellungen wieweb/mp4/720p; der codierte Step kann unabhängig von der hochgeladenen Quelle nach S3 exportiert werden.- Template-Zugangsdaten speichern den AWS-Zugriff getrennt von den Assembly Instructions und werden in gespeicherten Templates namentlich referenziert.
- Die Angabe von
bucket_regionvermeidet denGetBucketLocation-Lookup und ermöglicht es,s3:GetBucketLocationin der IAM-Richtlinie der Template-Zugangsdaten wegzulassen. - Eine Smart-CDN-URL identifiziert einen Workspace, ein Template, einen Eingabepfad und optionale URL-Felder. Der Eingabepfad steht dem Template als
${fields.input}zur Verfügung. Bei einem Cache-Miss läuft das Template, und/file/serveliefert die Antwort, die die Auslieferungsschicht cacht. - Ein Smart-CDN-Template kann mit
/s3/importein Objekt aus einem kundeneigenen S3-Bucket lesen, es mit/image/resizetransformieren und mit/file/servedas ausgewählte Derivat zurückgeben. - Bei Smart-CDN-Anfragen füllen URL-Query-Parameter
${fields.*}, während der Pfad nach dem Template-Namen zum impliziten Wert${fields.input}wird. Das unterscheidet sich von Formularfeldern zum Upload-Zeitpunkt und vomfields-Schlüssel der Assembly. Das Template entscheidet, welche Werte es liest, aber jeder Wert benötigt weiterhin Validierung, Zuordnung oder Autorisierung über eine signierte URL. - Der temporäre Ergebnisspeicher von Transloadit ist kein dauerhafter Anwendungsspeicher. Ergebnisse werden unabhängig von den Einstellungen mindestens 24 Stunden lang aufbewahrt; der aktuelle R2-Speicher unterstützt kein früheres Löschen. Produktions-Workflows sollten jedes Objekt exportieren, das dauerhaft erhalten bleiben muss.
- Ein zwischengespeichertes Smart-CDN-Derivat ist getrennt vom dauerhaften Original in S3. Quellersetzung, URL-Versionierung, Signaturablauf und Cache-Lebensdauer müssen gemeinsam geplant werden.
Ein praxisnaher Ansatz
- 1
Erfassen Sie die Upload-, Verarbeitungs-, Speicher- und Auslieferungspfade, einschließlich des Eigentümers jedes dauerhaften Objekts und jeder öffentlichen URL.
- 2
Erstellen Sie eingeschränkte Template-Zugangsdaten und gespeicherte Templates für Arbeiten zum Upload-Zeitpunkt und bei Bedarf.
- 3
Testen Sie feste Exporte, kalte Smart-CDN-Misses, warme Cache-Treffer, ungültige Parameter, ersetzte Quellen und nicht verfügbare Ursprungsserver.
- 4
Erfassen Sie Assembly-IDs und stabile S3-Objektversionen in der Anwendung und überwachen Sie dann Verarbeitungs-, Export-, Cache- und Auslieferungskosten separat.
Wann Transloadit hilfreich ist
Verwenden Sie Transloadit, wenn ein Produkt Uppy- und tus-Uploads, asynchrone Bild- oder Video-Workflows, Exporte in einen eigenen S3-Bucket und optionale URL-gesteuerte Bildvarianten über Smart CDN benötigt. Nutzen Sie nur die Teile, die die Anwendung braucht: Eine Assembly kann einen Upload unverändert speichern sowie feste Assets vorverarbeiten und exportieren, während ein Smart-CDN-Template ein Original aus S3 importieren und bei Bedarf ein begrenztes Derivat erstellen kann – beschränkt auf eine explizite Positivliste zulässiger Werte.
Architekturgrenze
Ihre Anwendung besitzt die Nutzerautorisierung, die Asset-Datensätze, die Veröffentlichungsrichtlinie und die dauerhaften Kopien in S3. Transloadit empfängt oder importiert Dateien, hält Daten während der Verarbeitung temporär vor, führt den gespeicherten Workflow aus, exportiert ausgewählte Ergebnisse und kann Smart-CDN-Derivate zwischenspeichern. Kundeneigener Speicher bedeutet daher nicht, dass Bytes ausschließlich innerhalb des AWS-Kontos des Kunden verbleiben.
Häufig gestellte Fragen
Bleibt bei Verwendung eines eigenen S3-Buckets jedes Byte innerhalb meines AWS-Kontos?
Nein. S3 kann das dauerhafte Referenzsystem bleiben, aber Uploads, importierte Originale, temporäre Ergebnisse und von Smart CDN erzeugte Derivate durchlaufen die Transloadit-Infrastruktur gemäß dem konfigurierten Workflow. Temporäre Ergebnisse werden unabhängig von den Einstellungen mindestens 24 Stunden lang aufbewahrt, und der aktuelle R2-Speicher unterstützt kein früheres Löschen. Die Aufbewahrungsdauer für Assembly Status JSON wird separat konfiguriert, mit Optionen von „No Save“ bis 90 Tage; 90 Tage ist die Standardeinstellung. Wenn das Status JSON 90 Tage lang aufbewahrt wird, werden die temporären Ergebnisdateien dadurch nicht zu dauerhaftem Speicher. Smart CDN speichert ausgelieferte Ergebnisse separat zwischen.
Sollte ich die Originalmedien, verarbeitete Derivate oder beides speichern?
Exportieren Sie das Original, wenn es für erneute Verarbeitung, Audits oder einen Anbieterwechsel benötigt wird. Exportieren Sie feste Derivate, wenn sie vor der Veröffentlichung vorliegen oder geprüft werden müssen. Sie können beides exportieren, indem Sie /s3/store über die use-Eingabe beide Steps übergeben.
Kann ein einziges S3-Template sowohl Bilder als auch Videos verarbeiten?
Verwenden Sie separate gespeicherte Templates, wenn Bilder und Videos unterschiedliche Validierungs-, Timeout-, Veröffentlichungs- oder Fehlerrichtlinien haben. Ein bewusst gemischtes Template kann mit /file/filter verzweigen, aber jeder Zweig sollte festlegen, was passiert, wenn eine Datei abgelehnt wird, und welche Ausgaben /s3/store exportiert.
Ist Smart CDN ein von Assemblies getrenntes Verarbeitungssystem?
Nein. Eine Assembly zum Upload-Zeitpunkt und eine Smart-CDN-Anfrage verwenden dasselbe Template-und-Robot-Ausführungsmodell, auch wenn jeder Pfad sein eigenes Template definiert. Der Upload-Pfad läuft, wenn Bytes eintreffen, und kann dauerhafte Ergebnisse exportieren. Der Smart-CDN-Pfad führt sein Template bei einem Cache-Miss aus und liefert ein ausgewähltes Ergebnis über /file/serve aus.
Wann sollte ich vorab verarbeiten, statt bei Bedarf zu transformieren?
Verarbeiten Sie Assets vorab, die eine Freigabe, deterministische Verfügbarkeit, mehrere dauerhafte Ausgaben oder eine vorhersehbare Latenz bei der ersten Anzeige benötigen. Transformieren Sie bei Bedarf, wenn angeforderte Größen schwer vorhersehbar sind und eine begrenzte Menge an URL-Variablen die sicheren Varianten ausdrücken kann. Viele Anwendungen verarbeiten ein kanonisches Bild vorab und erzeugen Darstellungsgrößen bei Bedarf.
Wie sollte Transloadit Zugriff auf einen privaten S3-Bucket erhalten?
Speichern Sie die AWS-Zugangsdaten als eingeschränkte Template-Zugangsdaten mit minimalen Berechtigungen, verweisen Sie in einem gespeicherten Template auf deren Namen, und verhindern Sie, dass Browser beliebige Assembly Instructions oder Speicherziele angeben können. Signieren Sie Upload-Parameter und geschützte Smart-CDN-URLs auf einem vertrauenswürdigen Server.
Muss ich Transloadit verwenden, um Uppy zu nutzen?
Nein. Uppy ist Open-Source-Software für Uploads und kann viele Back-Ends verwenden. Das gepflegte Transloadit-Plugin ist die direkte Integration, wenn Uploads eine Assembly erstellen, die tus-Übertragung nutzen und den Verarbeitungsfortschritt oder die Ergebnisse melden sollen.