Wie kann ich direkt aus dem Browser mit einer vordefinierten URL anstelle von Anmeldeinformationen auf AWS S3 hochladen?

Möchten wir, Javascript zu verwenden, AWS SDK zum hochladen von Dateien auf S3, aber ohne Verwendung von Anmeldeinformationen.
Das hochladen mit den Anmeldeinformationen funktioniert, aber wir nicht erzeugen können, ein AWS IAM-Benutzer für alle unsere app-Nutzer (oder sollte man?)

Daher, ähnlich wie mit BEKOMMEN, wir möchten, dass die server zum generieren einer pre-signed URL, schicken Sie es an den browser, und der browser hochladen, die URL.

Jedoch gibt es keine Beispiele auf, wie dies zu erreichen.
Auch, wenn die Einstellung nicht eine Berechtigung, auch vor dem upload auf S3-Anfragen, die SDK-Fehler mit

code: "CredentialsError"
message: "No credentials to load"

JS-SDK-docs erwähne dies, so scheint es, es wäre möglich:

Pre-signing a putObject (asynchronously)
var params = {Bucket: 'bucket', Key: 'key'};
    s3.getSignedUrl('putObject', params, function (err, url) {
      console.log('The URL is', url);
});

InformationsquelleAutor der Frage user2528332 | 2014-03-20

Schreibe einen Kommentar