2012-06-08 6 views
15

zu setzen Ich habe eine Datei auf Amazon S3, die das Suffix ".bin.gz" hat. Ich möchte, dass Webbrowser es als eine gezippte HTML-Datei behandeln. Ich kann also die Amazon S3-Webkonsole (https://console.aws.amazon.com/s3/home) aufrufen und zu der Datei navigieren und sie auswählen. Dort kann ich unter Eigenschaften zur Registerkarte Metadaten gehen und folgende Direktiven hinzufügen:Versuchen, Metadaten auf Amazon S3-Datei mit s3cmd

Content-Type: text/html 
Content-Encoding: gzip 

Dies funktioniert wie erwartet. Das ist der einfache Teil.

Nun würde ich gerne die gleiche Sache mit Hunderten (oder möglicherweise Millionen) von Dateien zu der Zeit tun, die sie auf S3 PUT sind.

Ich habe versucht mit s3cmd mit der Option --add-header, aber das gibt mir einen Signaturfehler, wenn ich versuche, den Content-Type. Außerdem bin ich mir ziemlich sicher, dass dies nur die Header betrifft, die zum Zeitpunkt der PUT-Operation gesendet werden, und nicht die Metadaten, die mit dem Dokument gespeichert werden.

Also, ich suche nach einer Möglichkeit, dies zu tun, idealerweise mit s3cmd. Wenn das nicht möglich ist, würde ich mich freuen, wenn jemand eine Python-Bibliothek vorschlagen könnte, die Metadaten auf eine Datei auf s3 anwenden könnte.

Es muss einen Weg geben, dies zu tun, ohne es manuell in der Konsole einstellen zu müssen.

Antwort

22

Verwenden -m zur Einstellung des MIME-Typs (die als Content-Type Header auf nachfolgende Anfragen gesendet werden.

s3cmd -m text/html --add-header='Content-Encoding: gzip' put [files] s3://... 
+1

Danke für die schnelle Antwort, die ich versuchte, und den Inhaltstyp der hochgeladenen Datei bleibt "application/octet-stream" – chaimp

+1

Hab 'ich, danke! Ich musste nur 'guess_mime_type = False' in meiner s3 config Datei ändern – chaimp

+0

@jeffp Ja, ich denke ich habe diese Einstellung schon als' False' Wenn Sie den Befehl auch immer ausführen möchten, sollten Sie den MIME-Typ nicht erraten, wenn Sie diese Einstellung standardmäßig beibehalten möchten – Paulpro

Verwandte Themen