Mam duży segment S3 z zagnieżdżoną strukturą „folderów” zawierającą (między innymi) statyczne pliki .json i .md. Te pliki są obsługiwane przez S3, text/plain
a nie poprawne application/json
i text/markdown
.
Zaktualizowałem ustawienia domyślne segmentu, aby nowe przesyłane pliki miały prawidłowy typ zawartości.
Jaki jest najlepszy sposób przejścia „drzewa” i zaktualizowania typu zawartości dla plików pasujących do określonego rozszerzenia?
--acl=...
Jeśli nie chcesz, aby uzyskać brudne ręce przy użyciu boto / Python lub innego AWS API, podejrzewam, najlepiej byłoby skorzystać
$ aws s3api copy-object
z--content-type
flagą skopiować obiekt do siebie, wyznaczając nowy typ zawartości.Oto dokumentacja dla s3api.
Jest rzeczą oczywistą, że powinieneś najpierw to przetestować, zanim uruchomisz go rekurencyjnie na całym wiadrze.
źródło
Po pewnym kopaniu odkryłem, że
s3cmd
narzędzie to potrafi. Na przykład, aby ustawić pliki JSON na application / json:źródło
Jak wspomniano wcześniej, możesz użyć
aws
narzędzia Amazon i użyć s3api, aby skopiować obiekt na siebie i użyćmetadata-directive=REPLACE
do zmiany typu zawartości.Kładę to tutaj, ponieważ czasami chciałbyś iterować nazwy plików przechowywane w bazie danych, i tak możesz to zrobić za pomocą cli.
źródło