Wichtigste Erkenntnisse
- Behandeln Sie das ursprüngliche Produkt-Asset als maßgebliche Quelle und leiten Sie Kanalvarianten anhand einer expliziten Richtlinie ab.
- Trennen Sie Ausgaben für Produktübersicht, Detailansicht, Zoom und Farbmuster, da sie jeweils unterschiedliche Anforderungen an Pixel und Ladeverhalten haben.
- Verwenden Sie in Ausgabepfaden stabile Produkt- und Asset-Kennungen statt Dateinamen, die ein Browser liefert.
Produktmedien werden teuer, wenn jeder Kanal eigene Regeln für Zuschnitt, Format und Benennung entwickelt. Eine sinnvolle Pipeline geht vom Produktdatensatz aus und erzeugt eine kleine, bewusst gewählte Menge an Derivaten, für deren Pfade, Metadaten und Lebenszyklus das Commerce-System die Verantwortung übernehmen kann.
Worauf es besonders ankommt
- Verwalten Sie Freigabe und Katalogzustand in der Commerce-Anwendung, während Transloadit den Verarbeitungs- und Exportzustand meldet.
- Messen Sie Bytes, Verarbeitungszeit, Fehlerrate und visuelle Qualität pro Kanal, bevor Sie weitere Varianten hinzufügen.
Schnittstellenspezifikation für Produktmedien definieren
Beginnen Sie mit den Platzierungen statt mit den Vorgängen. Eine Karte in der Produktübersicht, eine Produktdetailseite, ein Zoom-Betrachter, ein Farbmuster, eine E-Mail, ein Marktplatz-Feed und ein Produktvideo haben jeweils unterschiedliche Anzeigegrößen, Zuschnittrichtlinien, Formatanforderungen und Leistungsbudgets. Halten Sie diese Anforderungen fest, bevor Sie Steps auswählen, damit das Template eine Produktregel statt einer bloßen Sammlung von Transformationen abbildet.
Behalten Sie den Produktkatalog als maßgebliche Instanz für SKU, Gebietsschema, Freigabe und Veröffentlichung bei. Die Verarbeitungspipeline sollte eine stabile Asset-Identität erhalten und überprüfte Derivate zurückgeben. Durch diese Aufteilung kann das Commerce-System entscheiden, ob ein Produkt bereit ist, während sich Transloadit auf wiederholbare Dateiverarbeitung konzentriert.
Jede Platzierung benennen
Halten Sie für jeden Kanal Abmessungen, Seitenverhältnis, Zuschnittrichtlinie, Format, Qualität und maximale Byteanzahl fest.
Quelle versionieren
Verwenden Sie eine von der Anwendung verwaltete Asset-Version, damit ein neues Fotoshooting kein veröffentlichtes Derivat unerwartet überschreiben kann.
Budget festlegen
Messen Sie Bytes und Verarbeitungskosten, bevor Sie einen weiteren Breakpoint oder eine weitere Marktplatzvariante hinzufügen.
Begrenzte Derivate erstellen
Ein gängiger Workflow nimmt die Quelle entgegen, validiert sie, erstellt Bilder für Produktübersicht und Detailansicht, bereitet ein größeres Zoom-Derivat vor, wenn dies gerechtfertigt ist, und codiert Produktvideos separat. Halten Sie den Export der Originaldatei für eine erneute Verarbeitung verfügbar, lassen Sie aber nicht jede Seite die Originaldatei laden. Im Beispiel verhindert zoom: false eine Hochskalierung über die angeforderten Abmessungen hinaus. Verwenden Sie das kleinste Derivat, das die beabsichtigten Produktdetails an seiner Platzierung bewahrt.
Der Zuschnitt erfordert eine explizite Richtlinie. Ein mittiger Zuschnitt ist vorhersehbar, kann aber Teile eines Produkts abschneiden; eine Ausrichtung nach Aufmerksamkeit oder Entropie kann bei manchen Bildern helfen. Verwenden Sie /image/facedetect, wenn Gesichtskoordinaten erforderlich sind, und prüfen Sie die Ergebnisse bei Katalogen mit hohem Wert dennoch. Speichern Sie die Zuschnittrichtlinie und die Quellversion zusammen mit dem Derivatdatensatz, damit sich ein visueller Unterschied später erklären lässt.
{
"allow_steps_override": false,
"auth": {
"max_number_of_files": 1,
"max_size": 104857600
},
"steps": {
":original": {
"robot": "/upload/handle"
},
"accepted_image": {
"use": ":original",
"robot": "/file/filter",
"accepts": [["${file.mime}", "regex", "^image/(jpeg|png|webp)$"]],
"error_on_decline": true
},
"listing": {
"use": "accepted_image",
"robot": "/image/resize",
"width": 640,
"height": 640,
"resize_strategy": "fit",
"zoom": false,
"format": "webp",
"quality": 82,
"result": true
},
"detail": {
"use": "accepted_image",
"robot": "/image/resize",
"width": 1600,
"height": 1600,
"resize_strategy": "fit",
"zoom": false,
"format": "webp",
"quality": 86,
"result": true
},
"original_export": {
"use": "accepted_image",
"robot": "/s3/store",
"credentials": "catalogue-media",
"path": "catalog/${fields.product_id}/${fields.asset_version}/original-${unique_prefix}.${file.ext}",
"acl": "bucket-default",
"result": true
},
"listing_export": {
"use": "listing",
"robot": "/s3/store",
"credentials": "catalogue-media",
"path": "catalog/${fields.product_id}/${fields.asset_version}/listing.webp",
"acl": "bucket-default",
"result": true
},
"detail_export": {
"use": "detail",
"robot": "/s3/store",
"credentials": "catalogue-media",
"path": "catalog/${fields.product_id}/${fields.asset_version}/detail.webp",
"acl": "bucket-default",
"result": true
}
}
}Produktübersicht
Kleine, schnell ladende Bilder für Rasteransichten und Suchergebnisse, deren Abmessungen zum Kartenlayout passen.
Detailansicht
Die primäre Produktansicht mit ausreichender Auflösung für die Seite, aber ohne unnötige Datenmenge in Originalgröße.
Zoom und Video
Erzeugen Sie diese nur, wenn das Nutzungserlebnis sie erfordert, und legen Sie dafür eine eigene Lade- und Speicherrichtlinie fest.
Vertrauenswürdige Weiterleitung und Pfade sicherstellen
Ausgabepfade sind Teil der Schnittstellenspezifikation für den Katalog. Erstellen Sie sie aus Produktkennungen und einer validierten Asset-Version, die Ihre Anwendung autorisiert, und schreiben Sie anschließend die Ergebnismetadaten in das Commerce-System zurück. Lassen Sie weder einen vom Browser gelieferten Dateinamen noch ein solches Feld bestimmen, wo das Derivat eines anderen Mandanten gespeichert wird oder zu welcher SKU es gehört.
Das serverseitige Signieren von params.fields schützt diese Pfade nicht, wenn ein Browser die Anfrage übermittelt. Multipart-Formularfelder werden ebenfalls zu Assembly-Feldern und sind nicht durch die Signatur abgedeckt. Ein Feld, das nach params gesendet wird, ersetzt den gleichnamigen signierten Wert. Der Browser kontrolliert diese Reihenfolge. Da das Beispiel die festen Dateinamen listing.webp und detail.webp unter ${fields.product_id} und ${fields.asset_version} schreibt, könnte eine vom Browser übermittelte Anfrage die Derivate eines anderen Produkts überschreiben. Lassen Sie den Anwendungsserver die gesamte Assembly-Anfrage erstellen und übermitteln, einschließlich des Uploads sowie nicht leerer, autorisierter und pfadsicherer Werte für product_id und asset_version, und leiten Sie keine beliebigen Client-Felder weiter.
Wenden Sie dieselbe Regel auf andere dynamische Felder an. Legen Sie die Abmessungen im Template fest oder verwenden Sie pro freigegebenem Variantensatz jeweils ein Template; Anfragefelder überschreiben Felder auf Template-Ebene, daher sollte nur der Server sie bereitstellen. Das Speichern von allow_steps_override: false im Template bildet eine separate Schutzgrenze: Es verhindert Überschreibungen von Steps zur Laufzeit bei Verwendung von template_id, autorisiert aber keine Feldwerte. Es ist weiterhin sinnvoll, zurückgegebene Speicherschlüssel vor der Veröffentlichung im Katalog mit dem erwarteten Präfix abzugleichen. Dadurch lässt sich jedoch kein Überschreiben unter einem falschen Schlüssel rückgängig machen. Schützen Sie daher den Schreibvorgang selbst.
Stabile Pfade verwenden
Nehmen Sie eine Produktkennung und eine Asset-Version auf und ersetzen Sie den Katalogverweis erst nach der Exportprüfung.
Auswahl begrenzen
Lassen Sie bekannte Abmessungen und Varianten statt beliebiger Transformationsparameter aus dem Browser zu.
Zugangsdaten schützen
Hinterlegen Sie Zugangsdaten für den Speicher in den Template-Zugangsdaten und bewahren Sie Ihr Transloadit Auth Secret auf dem Server auf, der die Assembly übermittelt.
Auf Basis verifizierter Ereignisse veröffentlichen
Ein Webhook meldet der Anwendung, dass eine Assembly ihren Zustand geändert hat; dadurch allein wird ein Produkt noch nicht veröffentlichungsfähig. Verifizieren Sie den Webhook, rufen Sie das vertrauenswürdige Ergebnis der Assembly ab, prüfen Sie, ob jedes erforderliche Derivat mit den erwarteten Abmessungen und dem erwarteten MIME-Typ vorhanden ist, und aktualisieren Sie erst dann den Katalogdatensatz.
Benachrichtigungen können mehrfach oder verspätet eintreffen oder fehlen. Der Handler sollte auch dann, wenn er zweimal ausgeführt wird, korrekt funktionieren, Ereignisse in abweichender Reihenfolge tolerieren und bei einem fehlenden Ereignis den Zustand durch Polling oder regelmäßige Statusprüfungen abgleichen. So verhindern Sie, dass ein Produkt nach einem fehlgeschlagenen Export auf einen nur halb fertiggestellten Bildsatz verweist.
Verifizieren
Prüfen Sie Signaturen, die Identität der Assembly, Ausgabepfade, Abmessungen, MIME-Typen und die erwartete Variantenanzahl.
Idempotent aktualisieren
Verwenden Sie Produkt-ID und Asset-Version als Schreibschlüssel, damit ein erneuter Versuch einen Katalogdatensatz weder duplizieren noch auf einen älteren Stand zurücksetzen kann.
Zustand abgleichen
Nutzen Sie Status-Polling oder einen Korrekturauftrag für Ereignisse, die verspätet eintreffen, dupliziert werden oder nie erfasst werden.
Vor dem Hinzufügen weiterer Varianten messen
Erfassen Sie je Platzierung die Abmessungen und die Größe in Bytes der Derivate, die Verarbeitungszeit, Fehler und Ergebnisse der visuellen Prüfung. Vergleichen Sie diese Messwerte mit der Seitenperformance und den Conversion-Zielen, bevor Sie einen weiteren Breakpoint, ein weiteres Format oder einen weiteren Marktplatzzweig hinzufügen.
Eine kompakte Spezifikation, die zu den tatsächlichen Platzierungen passt, lässt sich leichter zwischenspeichern, migrieren und korrigieren als eine auf Verdacht erzeugte Matrix für den gesamten Katalog. Bewahren Sie die Quelldatei und die Asset-Version auf, damit sich eine spätere Richtlinienänderung mit derselben Eingabe reproduzieren lässt.
Bytes messen
Vergleichen Sie repräsentative Derivatgrößen mit den Netzwerk- und Decodierungsbudgets jeder Platzierung.
Qualität prüfen
Prüfen Sie Zuschnitt und Komprimierung anhand repräsentativer Produkte, bevor Sie ein Derivat in die Veröffentlichung aufnehmen.
Mit einem getesteten Transloadit-Template starten
Die Beispielkonfiguration in diesem Leitfaden akzeptiert höchstens ein Bild, erstellt zwei bewusst begrenzte Derivate und exportiert das akzeptierte Original sowie jedes Derivat unter jeweils einem eigenen versionierten Schlüssel. Der Filter leitet nur die MIME-Typen für JPEG, PNG und WebP weiter und lässt die Assembly bei allen anderen MIME-Typen fehlschlagen. Jeder Export ist diesem Filter nachgeschaltet, sodass ein abgelehnter Upload nicht nach S3 exportiert wird. MIME-Routing ist keine strikte Inhaltsprüfung; validieren Sie die gespeicherten Bytes in Ihrer Anwendung, wenn Ihre Spezifikation dies erfordert. Testen Sie repräsentative Produktbilder und passen Sie anschließend Abmessungen, Zuschnittrichtlinie, Qualität und Aufbewahrung anhand gemessener Kanalanforderungen an, bevor Sie Zweige für Zoom oder Video hinzufügen.
Erstellen Sie ein Transloadit-Konto und speichern Sie die Assembly Instructions als Template. Legen Sie für S3 einen Template-Zugangsdaten-Datensatz namens catalogue-media mit key, secret, bucket und bucket_region an; die Einrichtung ist unter Template-Zugangsdaten beschrieben. Halten Sie den Bucket privat und aktivieren Sie Block Public Access; acl: "bucket-default" lässt eine Objekt-ACL weg und stützt sich auf die Zugriffsrichtlinie des Buckets, macht Objekte also nicht von sich aus privat. Lassen Sie Ihren Commerce-Server die Assembly mit autorisierten Werten sowohl für die Produkt-ID als auch für die Asset-Version übermitteln, prüfen Sie, ob jedes erwartete Derivat unter dem erwarteten versionierten Pfad vorhanden ist, erfassen Sie das Ergebnis idempotent und aktualisieren Sie den Katalog erst nach Abschluss des Exports. Sehen Sie sich die Transloadit-Preise an, wenn Sie Verarbeitung und Speicherbedarf für Ihren Katalog abschätzen möchten.
Beispielkonfiguration speichern
Hinterlegen Sie den Verarbeitungsgraphen und die Zugangsdaten für den Speicher in einem gespeicherten Template, statt Steps im Browser neu zu erstellen.
Nach Verifizierung veröffentlichen
Nutzen Sie die verifizierten Ergebnisse der Assembly und den Freigabestatus in Ihrem Katalog als Freigabebedingung für jede Asset-Version.
Wissenswerte technische Details
- Ein größeres Bild ist nicht automatisch eine bessere Zoom-Datei; die Ausgabeabmessungen sollten sich nach den tatsächlichen Anforderungen an Darstellung und Zuschnitt richten.
- Formatkonvertierung, Größenänderung und Zuschnitt können separate Schritte sein, bei denen unterschiedliche Qualitäts- und Fehleraspekte zu berücksichtigen sind.
- Benachrichtigungen können mehrfach eintreffen, und ihre Zustellung wird nur wenige Male erneut versucht. Daher benötigt die Commerce-Anwendung eine Signaturprüfung, eine idempotente Ergebnisverarbeitung und einen Zustandsabgleich bei fehlenden Ereignissen.
- Der kundeneigene Speicher bleibt das führende System für exportierte Dateien, wenn ein Workflow den Robot /s3/store oder einen anderen Robot zum Speichern verwendet.
- Bei der Variantenerzeugung kann sich die Anzahl über Gebietsschemata, Kanäle, Breakpoints und Kampagnen hinweg schnell vervielfachen; Richtlinien mit festen Grenzen verhindern unbeabsichtigtes kombinatorisches Wachstum.
- Die Quelldatei und jedes Derivat sollten eine stabile Version haben, damit beim Ersetzen eines Produktbilds keine alten und neuen Ausgaben vermischt werden können.
- Ein Thumbnail für eine Produktübersicht benötigt normalerweise weniger Daten als eine Detail- oder Zoom-Datei; das Original an jede Platzierung zu senden, verursacht unnötigen Übertragungs- und Decodierungsaufwand.
- Ausgabepfade sollten aus vertrauenswürdigen Produktkennungen und einer validierten Asset-Version erzeugt werden, statt sie durch Interpolation beliebiger Client-Eingaben zu bilden.
- Eine abgeschlossene Assembly ist nicht dasselbe wie ein veröffentlichtes Produkt. Katalogaktualisierungen sollten auf verifizierte Exporte und den eigenen Freigabestatus der Anwendung warten.
- Wenn ein Kanal ein neues Derivat hinzufügt, aktualisieren Sie die Spezifikation und die Tests, statt stillschweigend jede bestehende Ausgabe zu ändern.
Ein praxisnaher Ansatz
- 1
Definieren Sie die Schnittstellenspezifikation für Derivate für jeden Kanal, bevor Sie das Template schreiben.
- 2
Lassen Sie den Commerce-Server die Quelle mit den autorisierten Feldern product_id und asset_version übermitteln und bewahren Sie das akzeptierte Original auf.
- 3
Erzeugen Sie nur die für aktuelle Kanäle erforderlichen Ausgaben für Produktübersichten, Detailansichten, Zoom und Video.
- 4
Veröffentlichen Sie erst, nachdem die Anwendung ein vollständiges Exportereignis empfangen und idempotent protokolliert hat.
Wann Transloadit hilfreich ist
Lassen Sie Ihren Commerce-Server eine Assembly mit einem Template erstellen und übermitteln, das Eingaben validiert und normalisiert, die Verarbeitung verzweigt und Derivate innerhalb festgelegter Grenzen in Ihren eigenen Speicher exportiert. Wenn Nutzer über Uppy oder einen anderen Browser-Client Dateien hochladen, behandeln Sie dies als separate Eingangsphase, die Ihre Anwendung validiert, bevor ihr Server diese Beispielkonfiguration für den Export übermittelt. Verwalten Sie SKU, Gebietsschema, Freigabe und Veröffentlichungszustand in der Commerce-Anwendung.
Architekturgrenze
Transloadit bereitet Produktmedien auf und exportiert Derivate; es bietet keinen Produktkatalog, kein PIM, kein DAM, keinen Onlineshop, keine Freigabeoberfläche und keinen Dienst für Marktplatzeinträge.
Häufig gestellte Fragen
Ersetzt Transloadit ein Produktinformationsmanagement (PIM) oder ein Digital-Asset-Management (DAM)?
Nein. Es verarbeitet Dateien und exportiert Derivate. Belassen Sie Produktattribute, Freigaben, Rechte, Katalogstand und die Asset-Suche im dafür zuständigen System.
Wie viele Varianten sollte ein Produktbild haben?
Beginnen Sie mit den Platzierungen, die Sie messen können: meist Produktübersichten und Detailansichten sowie nur solche Zoom- oder Kanalausgaben, für die es einen tatsächlichen Abnehmer gibt. Ergänzen Sie Varianten, wenn sich deren Verarbeitungs- und Speicherkosten durch Erkenntnisse zu Geräten, Layouts oder Marktplätzen rechtfertigen lassen.
Sollte das Original öffentlich sein?
In der Regel nicht. Bewahren Sie das Original in kontrolliertem Speicher auf und veröffentlichen Sie nur die Derivate und Pfade, die für das Produkterlebnis erforderlich sind.
Was passiert, wenn ein Produktbild ersetzt wird?
Erstellen Sie eine neue Asset-Version, verarbeiten Sie sie, überprüfen Sie alle erforderlichen Ausgaben und stellen Sie dann den Katalogverweis um. Behalten Sie die vorherige Version bei oder nehmen Sie sie gemäß Ihrer Anwendungsrichtlinie außer Betrieb.