Ergebnisdateien speichern
Beispiel für Assembly Status JSON
Nach der Bildgrößenänderung aus Meine erste App erzeugt der Step
crop_thumbed ein Bild (1500x500). Dieser beispielhafte Auszug aus dem
Assembly Status JSON zeigt die Felder, die zum Identifizieren und
Speichern dieses Ergebnisses nötig sind. Weitere Statusfelder sind ausgelassen; IDs und Beispiel-URLs
unterscheiden sich in Ihrer tatsächlichen Antwort.
{
"assembly_id": "7828446e5acd4aa996dce3455ec914e9",
"ok": "ASSEMBLY_COMPLETED",
"uploads": [
{
"id": "a30bd0776e7f4ac3817b056d102e8219",
"name": "joe-gardner-149699.jpg",
"ssl_url": "https://temporary-files.example/upload.jpg"
}
],
"results": {
"crop_thumbed": [
{
"id": "b8d12f6c517541ca86bf50c537cedb27",
"original_id": "a30bd0776e7f4ac3817b056d102e8219",
"name": "joe-gardner-149699.jpg",
"ssl_url": "https://temporary-files.example/resized.jpg",
"meta": {
"width": 1500,
"height": 500
}
}
]
}
}
Wie Sie sehen, stellt Transloadit die endgültigen Speicherorte und Metadaten für Folgendes bereit:
- alle hochgeladenen Dateien - im Schlüssel
uploads - alle erzeugten Ergebnisdateien - im Schlüssel
results
Jedes Dateiobjekt enthält Metadaten sowie eine ssl_url, die auf das Ergebnis verweist. Wenn Sie
einen unserer Export-Robots verwendet haben, entsprechen diese Speicherorte
dem von Ihnen angegebenen Speicherort, beispielsweise Ihrem S3-Bucket. Andernfalls ist der Speicherort eine temporäre URL, die
nach 24 Stunden entfernt wird.
Temporäre URLs dienen ausschließlich dazu, Dateien einmalig in Ihren eigenen Speicher herunterzuladen. Geben Sie diese URLs niemals an Endbenutzer weiter und verwenden Sie sie nicht in der Produktion. Beachten Sie die Einschränkungen für temporären Speicher mit wichtigen Nutzungseinschränkungen.
Je nach Integration können Sie:
- die Ergebnisse lokal dort verarbeiten, wo Sie die Anfrage senden,
- die Ergebnisse einem Formular hinzufügen und an Ihr Backend senden oder
- (mit Async Mode) Transloadit das
Assembly Status JSON an Ihre
notify_urlsenden lassen, um damit anschließend Einträge in Ihrer Datenbank zu speichern.
Informationen zur Konfiguration und Signaturprüfung finden Sie in der Webhooks-API-Dokumentation. Verifizieren Sie jede Notification, bevor Sie deren Payload in Ihrer App verwenden.
Ergebnisdateien für Ihre Endbenutzer anzeigen
Nachdem Sie die Dateien in einem persistenten Speicher und alle für Ihre App nützlichen Metadaten in Ihrer Datenbank gespeichert haben, können Sie sie Ihren Benutzern bereitstellen. Ersetzen Sie die Platzhalter-URL unten durch die URL in Ihrem eigenen Speicher, um das zugeschnittene Bild anzuzeigen:
<img
alt="Resized uploaded image"
src="https://your-storage.example/resized.jpg"
/>
Bei Videos können Sie Player wie HLS.js, Plyr oder indigo-player verwenden, die auch HTTP-Livestreaming und MPEG-DASH unterstützen.
Verlassen Sie sich beim Speichern von Ergebnissen der Dateiverarbeitung nicht auf deren Reihenfolge
Wenn Ihre Encoding-Ergebnisse fertig sind und Transloadit sie per POST an Ihre Ergebnis-URL oder die URL der Assembly Notification sendet, verlassen Sie sich bitte nicht auf die korrekte Reihenfolge der Ergebnisse.
Angenommen, Ihr Template enthält zwei
Steps mit dem Robot 🤖/image/resize,
die den Step :original mit use verwenden. Zum Beispiel:
{
"steps": {
"high": {
"use": ":original",
"robot": "/image/resize",
"width": 500,
"height": 500
},
"low": {
"use": ":original",
"robot": "/image/resize",
"width": 200,
"height": 200
}
}
}
Wenn Sie 30 Fotos mit diesem Template hochladen, enthält das resultierende
JSON der Assembly zwei Ergebnis-Arrays:
"results" -> "high" und "results" -> "low". Die Reihenfolge der Bilder in diesen Arrays ist jedoch nicht
identisch. Das erste Ergebnis in "high" könnte vom 15. hochgeladenen Foto abgeleitet sein, während
das erste Ergebnis im Array "low" vom 10. hochgeladenen Foto stammen könnte.
Wenn Sie Encoding-Ergebnisse den zugehörigen Uploads zuordnen müssen (was wahrscheinlich der Fall ist), gleichen Sie
sie anhand der Eigenschaft id in den Einträgen des Arrays "uploads" und der Eigenschaft original_id in
den Einträgen Ihrer verschiedenen Ergebnis-Arrays ab.
Ursprünglich hochgeladene Dateien speichern
Wenn Sie nicht nur die codierten Ergebnisdateien, sondern auch die ursprünglich von Ihren Benutzern hochgeladenen Dateien speichern, können Sie diese später erneut in andere Formate codieren, wenn sich Ihre Anforderungen ändern. Wenn Sie sie nicht speichern, gehen sie dauerhaft verloren, da ein erneuter Upload durch Ihre Benutzer wahrscheinlich nicht infrage kommt.
Alle Metadaten speichern
Beachten Sie außerdem, dass Assemblies nur temporär bestehen. Transloadit löscht Datensätze nach 90 Tagen. Wenn Sie darin enthaltene Metadaten dauerhaft aufbewahren möchten, sollten Sie sie in Ihren Datenspeicher importieren.