Den /google/store Robot in der Re-Loadit-Serie erkunden
Dieser Blogbeitrag ist der vierte Teil der 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.
Wie bei anderen Robot-Vorstellungen geben wir Ihnen einige Beispiele, erklären die wichtigsten Funktionen, die dieser Robot bietet, und geben Tipps für den Einstieg. Wir hoffen, Sie haben Freude daran, mehr darüber zu erfahren, wie Sie die große Funktionsvielfalt von Transloadit nutzen können.
Der /google/store Robot
In den vergangenen Jahren haben Entwickler ihre Daten zunehmend von lokalen Systemen in die Cloud verlagert. Ein wichtiger Grund für den Wechsel in die Cloud ist der bessere Schutz Ihrer Daten, insbesondere im Fall einer Naturkatastrophe. Einige Berichte haben dies bestätigt und sagen voraus, dass der Markt für Cloud-Speicher bis 2022 auf $88,91 Milliarden anwachsen wird, was einer enormen jährlichen Wachstumsrate von 23,7 % entspricht. Milliarden von Menschen und Tausende von Unternehmen entscheiden sich für Online-Speicher, weil er bequem, praktisch, sicher und wirtschaftlich ist. Einer der beliebteren Cloud-Speicherdienste ist Google Cloud Storage.
Wir möchten sicherstellen, dass unsere Nutzer diesen Dienst frei und direkt in ihre Templates bei Transloadit einbinden können.
Deshalb haben wir den Robot /google/store eingeführt, der seit Anfang 2018 zur Transloadit-Familie der Robots gehört.

Was kann er?
Der Robot /google/store exportiert alle Encoding-Ergebnisse aus Ihrer Assembly in einen Google-Storage-Bucket Ihrer Wahl.
So könnten Sie zum Beispiel Ihre Nutzer ein Video hochladen lassen, anschließend mit dem Robot /video/thumbs Thumbnails des Videos erstellen und diese danach in Google Cloud Storage exportieren – alles in einer einzigen Assembly.
Sehen wir uns Schritt für Schritt an, wie Sie eine solche Assembly erstellen!
Die Assembly erstellen
Bevor wir mit dem Erstellen unserer Assembly beginnen können, benötigen wir die JSON-Datei des Dienstkontos. Sie ist notwendig, damit unsere Assemblies die Google Cloud API nutzen können. Um Ihre JSON-Datei zu erzeugen, öffnen Sie in der Google Cloud Console den Bereich für Dienstkonten und erstellen Sie ein neues Dienstkonto. Nachdem Sie dem neuen Dienstkonto eine Rolle zugewiesen haben, klicken Sie im letzten Schritt auf Create key und wählen JSON als Typ aus (der Schlüssel wird automatisch heruntergeladen).
Wir empfehlen dringend, Ihr Zugriffstoken in den Template-Zugangsdaten hier bei Transloadit zu speichern. Wählen Sie dazu zunächst Google Storage als Typ der Zugangsdaten aus und tragen Sie dann Ihre Google Project Id und den Bucket-Namen sowie die zuvor heruntergeladene JSON-Datei ein.
So bleibt Ihr Zugriffsschlüssel in unserer Datenbank verschlüsselt, und dieser Schutz hilft zu verhindern, dass böswillige Nutzer Zugriff darauf erhalten. Wie Sie im Screenshot unten sehen, habe ich meine Google-Zugangsdaten my_google_cred genannt. Diesen Namen benötigen wir später, wenn wir mit dem Erstellen unserer Assembly beginnen.

Dies sind die Assembly Instructions, die ich verwendet habe, nachdem ich meine Template-Zugangsdaten korrekt eingerichtet hatte:
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"thumbnailed": {
"use": [":original"],
"robot": "/video/thumbs",
"result": true,
"count": 1,
"ffmpeg_stack": "v7"
},
"exported": {
"use": ["thumbnailed"],
"robot": "/google/store",
"credentials": "my_google_cred",
"path": "screenshots/${file.original_basename}.${file.ext}"
}
}
}
In den ersten beiden Steps lädt der Robot /upload/handle eine Videodatei zu Transloadit hoch, und der Robot /video/thumbs erstellt anschließend Screenshots des Videos.
Im nächsten Step werden die Screenshots an den
Robot /google/store exportiert. Der Parameter credentials
greift auf die Zugangsdaten für Google Storage zu, die ich in meinen Template-Zugangsdaten unter
dem Namen my_google_cred gespeichert habe. Der Parameter path speichert die exportierten Bilder anschließend in einem Ordner namens
screenshots in meinem Google Storage und benennt jede Datei nach ihrem
ursprünglichen Dateinamen. Wenn Sie Kollisionen befürchten, können Sie diesem Pfad weitere
Assembly Variables hinzufügen, etwa
einen MD5-Hash (${file.md5hash}) oder ${unique_prefix}.
Um diese Assembly Instructions auszuprobieren, führen Sie den folgenden Node.js-Code auf Ihrem Server aus und übergeben Sie den Pfad zu einer lokalen Videodatei als Argument.
const { Transloadit } = require('transloadit')
const transloadit = new Transloadit({
authKey: process.env.TRANSLOADIT_AUTH_KEY,
authSecret: process.env.TRANSLOADIT_AUTH_SECRET,
})
const options = {
files: { video: process.argv[2] },
params: {
steps: {
':original': {
robot: '/upload/handle',
},
thumbnailed: {
use: [':original'],
robot: '/video/thumbs',
result: true,
ffmpeg_stack: 'v7',
count: 1,
},
exported: {
use: ['thumbnailed'],
robot: '/google/store',
credentials: 'my_google_cred',
path: 'screenshots/${file.original_basename}.${file.ext}',
},
},
},
}
transloadit.createAssembly(options)
.then((result) => console.log({ result }))
.catch((error) => {
console.error(error)
process.exitCode = 1
})
Die Ergebnisse
Unsere Assembly scheint einwandfrei zu funktionieren! Nachdem ich den obigen Node.js-Code ausgeführt hatte, erschien in meinem Screenshots-Ordner ein Bild mit demselben Namen wie meine Videodatei.

Wir hoffen, dieser Beitrag hat deutlicher gemacht, was der Robot /google/store für Sie tun kann und wie er sich einsetzen lässt.
Bis zum nächsten Beitrag in unserer Re-loadit-Serie!
