Mam plik na Amazon S3 z przyrostkiem ".bin.gz". Chcę, aby przeglądarki internetowe traktowały to jako spakowany plik HTML. Tak, jestem w stanie przejść do konsoli internetowej Amazon S3 (https://console.aws.amazon.com/s3/home) i przejść do pliku i wybrać go. Tam, w ramach właściwości, mogę przejść do zakładki Metadane i dodać następujące dyrektywy:Próba ustawienia metadanych w pliku Amazon S3 przy użyciu s3cmd
Content-Type: text/html
Content-Encoding: gzip
Działa to zgodnie z oczekiwaniami. To łatwa część.
Teraz chciałbym zrobić to samo z setkami (lub prawdopodobnie milionami) plików w czasie, gdy są one PUT na S3.
Próbowałem używać opcji s3cmd z opcją , ale to daje mi błąd sygnatury podczas próby ustawienia typu zawartości. Ponadto jestem całkiem pewny, że zrobienie tego będzie miało wpływ tylko na nagłówki wysyłane w czasie operacji PUT, a nie na metadane przechowywane w dokumencie.
Poszukuję więc sposobu na zrobienie tego, najlepiej przy pomocy s3cmd. Jeśli to nie jest możliwe, byłbym wdzięczny, gdyby ktoś mógł zasugerować bibliotekę Pythona, która jest w stanie zastosować metadane do pliku na s3.
Musi być sposób, aby to zrobić bez konieczności ręcznego ustawiania go w konsoli.
Dzięki za szybką odpowiedź Próbowałem tego i typ zawartości przesłanego pliku pozostaje "application/octet-stream" – chaimp
Mam to, dziękuję! Potrzebowałem tylko zmienić 'guess_mime_type = False' w moim pliku konfiguracyjnym s3 – chaimp
@jeffp Tak, myślę, że już mam to ustawienie jako' False'. Prawdopodobnie możesz określić flag, aby nie odgadywać typu MIME za każdym razem, gdy uruchomisz to polecenie, jeśli chcesz domyślnie pozostawić to ustawienie .. – Paulpro