So richten Sie einen S3-Bucket für Transloadit ein
Amazon S3 mit Transloadit zu nutzen, kann eine starke Kombination sein. Allerdings haben uns mehrere Kunden berichtet, dass es mühsam sein kann, alles genau so zum Laufen zu bringen, wie sie es sich wünschen. Um ihnen und hoffentlich auch anderen zu helfen, haben wir uns entschlossen, einen umfassenden Leitfaden zur Integration beider Dienste zu schreiben.

Einen Bucket erstellen
Natürlich besteht unser erster Schritt darin, ein AWS-Konto anzulegen. Falls Sie noch keines haben, rufen Sie die Registrierungsseite auf und folgen Sie den dortigen Anweisungen.
Navigieren Sie danach zu Storage und wählen Sie dann wie unten gezeigt S3 im Tab Services aus.

Klicken Sie in der Management Console auf Create Bucket. Geben Sie dem Bucket einen Namen und wählen Sie die Region, die der Mehrheit Ihrer Nutzer am nächsten liegt. Notieren Sie sich sowohl den Namen als auch die Region, da wir diese Informationen später an Transloadit übergeben müssen.
Behalten Sie die Einstellung Bucket owner enforced unter
Object Ownership bei, lassen Sie ACLs deaktiviert und
halten Sie Block all
public access aktiviert. Transloadit
kann Dateien in diesem privaten Bucket speichern, indem Objekt-ACLs weggelassen werden; unser
Template weiter unten setzt dafür acl auf
"bucket-default". Sie müssen den Bucket nicht öffentlich machen, um Dateien zu
importieren oder zu exportieren. Siehe den
AWS-Leitfaden zu Object Ownership.
Zugangsdaten für Transloadit einrichten
Jetzt ist unser Bucket eingerichtet und bereit, unsere Dateien zu speichern! Allerdings müssen wir noch einige Zugangsdaten von AWS abrufen, bevor wir bei Transloadit unser Template einrichten.
Verwenden Sie für diese Integration einen dedizierten IAM-Benutzer, nicht Ihren
AWS-Root-Benutzer. Weisen Sie diesem Benutzer in IAM eine Identity
Policy zu, die auf Ihren Bucket beschränkt ist. Dieses reine Export-Beispiel erlaubt das Auflisten
des Buckets, das Ermitteln seiner Region und das Schreiben von Objekten. Ersetzen Sie
YOUR_BUCKET_NAME in beiden Ressourcen:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:GetBucketLocation", "s3:ListBucket"],
"Resource": "arn:aws:s3:::YOUR_BUCKET_NAME"
},
{
"Effect": "Allow",
"Action": ["s3:PutObject"],
"Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/*"
}
]
}
Dies ist eine IAM-Identity-Policy, die diesem Benutzer zugeordnet ist, und keine Bucket Policy, die
öffentlichen Zugriff gewährt. Wenn Sie außerdem Objekte importieren müssen, fügen Sie
s3:GetObject nur für die Objektpfade hinzu, die Sie lesen müssen.
Kundenverwaltete KMS-Verschlüsselung kann zusätzliche schlüsselspezifische Berechtigungen
erfordern; gewähren Sie keinen administrativen Zugriff per Wildcard, um Berechtigungsfehler zu
beheben.
Öffnen Sie die Sicherheitsanmeldedaten des dedizierten IAM-Benutzers und erstellen Sie einen Zugriffsschlüssel für diese Integration. Bewahren Sie den Zugriffsschlüssel und den geheimen Schlüssel sicher auf, rotieren Sie sie gemäß den Richtlinien Ihrer Organisation und hinterlegen Sie sie niemals in Browser-Code oder einem Quellcode-Repository.
Die folgenden Screenshots der Console zeigen die englische Oberfläche.
Gehen Sie nun in der Transloadit Console auf die Seite Zugangsdaten. Öffnen Sie Zugangsdaten für Drittanbieter und klicken Sie dann auf Neue Zugangsdaten hinzufügen.

Wählen Sie Amazon S3 als Service, geben Sie diesen Zugangsdaten einen einprägsamen Namen und tragen Sie den zuvor notierten Bucket-Namen und die Region ein. Fügen Sie hier außerdem Ihren Zugriffsschlüssel und den geheimen Schlüssel hinzu.

Ein Template erstellen
Transloadit verfügt nun über die Zugangsdaten, die zum Export von Dateien in diesen Bucket nötig sind. Testen wir das Ganze!
Das Template unten ändert die Größe eines hochgeladenen Bildes mit der Strategie fillcrop
auf 200x200 – möglich macht das unser praktischer Robot /image/resize.
Anschließend werden sowohl die in der Größe geänderte Datei als auch die Originaldatei zur dauerhaften Speicherung nach S3 hochgeladen.
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"fillcropped": {
"use": ":original",
"robot": "/image/resize",
"result": true,
"height": 200,
"width": 200,
"imagemagick_stack": "v3",
"resize_strategy": "fillcrop"
},
"exported": {
"use": ["fillcropped", ":original"],
"robot": "/s3/store",
"credentials": "MY_S3_CREDENTIALS",
"acl": "bucket-default"
}
}
}
Ersetzen Sie MY_S3_CREDENTIALS durch den Namen, den Sie in Transloadit gespeichert
haben. Prüfen Sie nach einer erfolgreichen Assembly beide Objekte in der S3-Konsole mithilfe einer
Identität mit Lesezugriff. Die gespeicherten Objekte bleiben privat: Eine Ergebnis-URL allein
berechtigt nicht zum Herunterladen. Nutzen Sie beim Teilen privater Dateien authentifizierten
Zugriff oder bewusst konfigurierte, kurzlebige signierte URLs.
Damit endet der heutige Leitfaden. Wir wissen, dass die Einrichtung von S3 knifflig sein kann. Sagen Sie uns daher bitte Bescheid, falls Sie weiterhin auf Probleme stoßen, und wir helfen Ihnen gerne weiter.
