Wir stellen den /dropbox/store Robot für einfache Exporte vor

Es ist Zeit für Re-Loadit!
Dieser Blogpost ist der erste einer Serie, die wir Re-loadit nennen. In dieser Serie behandeln wir eine Reihe von Transloadit-Funktionen, die unseren Nutzern bisher noch nicht richtig vorgestellt wurden.
Ähnlich wie bei anderen Vorstellungen unserer Robots geben wir Ihnen einige Beispiele, erklären die zentralen Funktionen, die der Robot bietet, und geben Tipps für den Einstieg. Ich hoffe, es macht Ihnen Freude, mehr darüber zu erfahren, wie Sie die Funktionsvielfalt von Transloadit nutzen können.
Der /dropbox/store Robot
Da Cloud-Storage immer beliebter wird, sieht es so aus, als würde das Speichern von Dateien ausschließlich auf der eigenen Festplatte bald das Schicksal des Klapphandys teilen. Mit beeindruckenden 500 Millionen registrierten Nutzerkonten gehört Dropbox zu den bekanntesten Cloud-Storage-Diensten überhaupt. Wir möchten, dass unsere Nutzer die Freiheit haben, den Dienst direkt in ihre Templates bei Transloadit einzubinden.
Deshalb haben wir den /dropbox/store Robot eingeführt, der seit Mai dieses Jahres zur Familie der Robots von Transloadit gehört.

Was kann er?
Seine Funktionsweise könnte kaum einfacher sein: Der /dropbox/store Robot exportiert alle Encoding-Ergebnisse Ihrer Assembly an einen Speicherort in Dropbox Ihrer Wahl. Ein schönes Beispiel, mit dem wir seine Fähigkeiten zeigen können, ist, wie dieser Robot Ihnen dabei hilft, wichtige digitale Dokumente wie Gehaltsabrechnungen oder Rechnungen besser im Blick zu behalten.
Unternehmen stellen ihre Rechnungen oft als HTML-Seite bereit. Diese Dokumente ordnungsgemäß zu archivieren, wozu Sie verpflichtet sind, wenn Sie selbst ein Unternehmen führen, kann von Hand eine mühsame Aufgabe sein. Ich persönlich speichere meine Rechnungen gern in Dropbox, damit ich sie alle an einem einzigen, sicheren Ort habe. In diesem Beispiel zeige ich Ihnen daher, wie Sie mit Transloadit HTML-Seiten automatisch „drucken“ und als PDF in einer Dropbox speichern können.
Die Assembly erstellen
Bevor ich mit dem Erstellen meiner Assembly beginnen kann, benötige ich mein Dropbox Access Token. Dieses ist erforderlich, damit unsere Assemblies die Dropbox-API nutzen können. Um mein Access Token zu erzeugen, muss ich in den Dropbox-Entwicklerbereich gehen. Ich empfehle Ihnen dringend, Ihr Access Token in den Template-Zugangsdaten hier bei Transloadit zu speichern. So bleibt Ihr Access Key in unserer Datenbank verschlüsselt, und es hilft zu verhindern, dass böswillige Nutzer Zugriff darauf erhalten. Wie Sie im Screenshot unten sehen, habe ich meine Dropbox-Zugangsdaten my_invoice_uploader genannt. Diesen Namen brauche ich später, wenn ich mit dem Erstellen meiner Assembly beginne.

Dies sind die Assembly Instructions, die ich verwendet habe, nachdem ich mein Access Token korrekt eingerichtet hatte:
{
"steps": {
"screenshot": {
"robot": "/html/convert",
"format": "pdf",
"url": "https://demos.transloadit.com/b2-invoice-example/2018-11-29-backblaze-tyler-invoice.htm",
"width": 1024
},
"exported": {
"robot": "/dropbox/store",
"use": "screenshot",
"credentials": "my_invoice_uploader",
"path": "invoices/${file.original_basename}.${file.ext}"
}
}
}
Hier ist alles ziemlich unkompliziert. Der /html/convert
Robot erstellt Screenshots einer angegebenen HTML-Webseite. Mit dem Parameter url kann ich
eine Webseite direkt über ihre URL abrufen. Als Nächstes bestimmt der Parameter format das Format des
Screenshots, etwa png, ich entscheide mich in diesem Fall jedoch für pdf. Und schließlich ist der Parameter width
auf 1024 gesetzt. Die Höhe des Screenshots wird dann automatisch entsprechend diesem Wert skaliert,
damit das gewünschte Seitenverhältnis erhalten bleibt.
Ach, und falls Sie sich schon Sorgen gemacht haben: Wir haben die Zahlen auf dieser Backblaze-HTML-Beispielrechnung geändert, sodass sie keinen Sinn mehr ergeben! 😄
Im nächsten Step exportiere ich den PDF-Screenshot an den
/dropbox/store Robot. Der Parameter credentials
greift auf das Dropbox Access Token zu, das ich in meinen Template-Zugangsdaten unter dem Namen
my_invoice_uploader gespeichert habe. Der Parameter path speichert das exportierte PDF anschließend
in einem Ordner namens invoices in meinem Dropbox-Speicher und benennt jede Datei nach ihrem
ursprünglichen Dateinamen. Falls Sie Kollisionen befürchten, könnten Sie diesem Pfad weitere
Assembly Variables hinzufügen, etwa einen
MD5-Hash (${file.md5hash}) oder ${unique_prefix}.
Um mein neu erstelltes Template auszuprobieren, führe ich den folgenden Node.js-Code aus, der die gewünschte Webseite als Argument entgegennimmt. Probieren Sie es gern selbst aus.
const { Transloadit } = require('transloadit')
const transloadit = new Transloadit({
authKey: process.env.TRANSLOADIT_AUTH_KEY,
authSecret: process.env.TRANSLOADIT_SECRET_KEY,
})
const options = {
waitForCompletion: true,
params: {
steps: {
screenshot: {
robot: '/html/convert',
format: 'pdf',
url: process.argv[2],
width: 1024,
},
exported: {
robot: '/dropbox/store',
use: 'screenshot',
credentials: 'my_invoice_uploader',
path: 'invoices/${file.id}.${file.ext}',
},
},
},
}
transloadit.createAssembly(options)
.then((result) => {
console.log({ result })
})
.catch((err) => {
console.error(err)
process.exitCode = 1
})
Die Ergebnisse
Ein Blick in meine Dropbox zeigt: Anscheinend hat alles erfolgreich funktioniert. Meine Rechnung liegt ganz gemütlich als PDF im angegebenen Dateipfad 💖

Ich hoffe, dieser Beitrag hat gezeigt, wie leistungsfähig der /dropbox/store Robot ist und wie mühelos er sich mit den anderen Funktionen von Transloadit kombinieren lässt. Das war es für den Auftakt der Re-loadit-Serie, ich hoffe, Sie freuen sich schon auf den nächsten Teil!