J'ai un grand compartiment S3 avec une structure de "dossier" imbriquée contenant (entre autres) des fichiers .json et .md statiques. Ces fichiers sont servis par S3 text/plain
plutôt que par le correct application/json
et le text/markdown
.
J'ai mis à jour les valeurs par défaut du compartiment afin que les nouveaux téléchargements aient le type de contenu correct.
Quelle est la meilleure façon de parcourir «l'arborescence» et de mettre à jour le type de contenu pour les fichiers correspondant à une certaine extension?
--acl=...
Sauf si vous voulez vous salir les mains en utilisant boto / python ou une autre API AWS, je pense que votre meilleur pari serait d'utiliser
$ aws s3api copy-object
avec le--content-type
drapeau pour copier un objet sur lui-même, en définissant le nouveau type de contenu.Voici la documentation de s3api.
Il va sans dire que vous devez d'abord tester cela, avant de l'exécuter récursivement sur l'ensemble de votre compartiment.
la source
Après avoir creusé, j'ai trouvé que l'
s3cmd
outil pouvait le faire. Par exemple, pour définir les fichiers JSON sur application / json:la source
Comme mentionné précédemment, vous pouvez utiliser l'
aws
outil d'Amazon et utiliser s3api pour copier-objet sur lui-même, et utilisermetadata-directive=REPLACE
pour changer le type de contenu.Je mets cela ici, parce que parfois vous voudrez répéter les noms de fichiers qui sont stockés dans la base de données, et c'est ainsi que vous pouvez le faire via cli.
la source