2010-12-17 16 views
1

Ich habe ein solches Problem: Ich habe Droplr-wie Adobe AIR-Anwendung, die Dateien an den Remote-Speicherort hochlädt und kurze Links für diese Dateien zurückgibt. Ich möchte alle diese Dateien auf Amazon S3 hochladen. Aber da es Adobe AIR-Anwendung ist und jeder seine Quelle (und S3-API-Schlüssel) sehen kann, kann ich Dateien nicht direkt auf Amazon S3 hochladen. Wie ich verstanden habe, wenn jemand API-Schlüssel aus der Anwendungsquelle bekommt, wird er in der Lage sein, Dateien auf mein S3-Konto hochzuladen, und ich werde dafür bezahlen. Ich wollte das lösen, indem ich Dateien von der Anwendung auf meinen Server hochlade, und PHP Script lädt sie auf Amazon S3 hoch. Wie ein Proxy. Aber es wird doppelter Verkehr und langsamer Betrieb sein.Über Amazon S3

Antwort

2

Eine weitere Option ist, dass Sie signierte URLs verwenden können. Ihre Anwendung kann eine Upload-URL von Ihrem Server anfordern. Ihr Server generiert dann eine signierte URL, die an die Anwendung zurückgesendet wird und zum Hochladen der Datei verwendet wird. Sie können die Ablaufzeit auch für signierte Upload-URLs festlegen.

+0

Das Problem ist, ich habe Adobe AIR-Anwendung und jeder kann seine Quellen sehen. Sie können also die URL kopieren, wo der Server signierte URLs zurückgibt und diese verwendet. – Sbioko

+0

Sie legen Ihre Schlüssel nicht in die Anwendung. Ihre Anwendung ruft Ihren Server an (mit den Schlüsseln), und der Server antwortet mit einer signierten Upload-URL für die Anwendung, die für das Hochladen von Dateien verwendet werden soll. –

+0

Es wird sofort ausgeführt und Sie legen fest, dass die URL nach einer von Ihnen festgelegten Zeit abläuft. (Vielleicht 10 Minuten, um eine Datei hochzuladen?) Sie speichern die URL nicht in der App. Beispiel: –

1

Diese blog article spricht über das Geheimnis geheim halten AWS-Anmeldeinformationen. Während es hauptsächlich EC2 abdeckt, gibt es auch einige Dinge über S3.

+0

http://transloadit.com/ - Wie das funktioniert? Ich denke, es lädt Dateien zuerst auf ihren Server und dann auf S3. – Sbioko

0

Ein weiterer Ansatz ist der Token-Automat, eine Anwendung, mit der mobile und andere Client-Apps temporäre Anmeldeinformationen erhalten können, ohne dass die Anmeldeinformationen Ihres Kontos in Ihrer Anwendung angezeigt oder eingebettet werden. Sie können hier mehr über den TVM Ansatz lesen:

http://aws.amazon.com/articles/4611615499399490