Utiliser des métadonnées d'objet

Présentation des métadonnées

Les objets peuvent être associés à des métadonnées qui contrôlent certains aspects du traitement des requêtes GET, y compris Content-Type, Cache-Control, Content-Disposition et Content-Encoding. En outre, vous pouvez définir des métadonnées personnalisées key:value qui peuvent être utilisées par des applications. Pour en savoir plus sur les propriétés de métadonnées spécifiques, consultez la page consacrée aux concepts liés aux métadonnées.

Il existe deux façons de définir des métadonnées sur des objets :

  • Lors de l'importation, vous pouvez spécifier une ou plusieurs propriétés de métadonnées à associer aux objets, à l'aide de gsutil -h option. Par exemple, la commande suivante indique à gsutil de définir les propriétés Content-Type et Cache-Control pour chacun des fichiers importés à partir d'un répertoire local nommé images :

    gsutil -h "Content-Type:text/html" \
           -h "Cache-Control:public, max-age=3600" cp -r images \
           gs://bucket/images
    

    Notez que -h est une option de la commande gsutil, et non de la sous-commande cp.

  • Vous pouvez définir ou supprimer des champs de métadonnées d'objets déjà importés à l'aide de la commande gsutil setmeta. Consultez gsutil help setmeta.

Champs configurables ; Valeurs des champs

Vous ne pouvez pas définir de valeurs pour certains champs de métadonnées, tels que ETag et Content-Length. Les champs que vous pouvez définir sont les suivants :

  • Cache-Control
  • Content-Disposition
  • Content-Encoding
  • Content-Language
  • Content-Type
  • Custom-Time
  • Métadonnées personnalisées

Les noms de champs ne sont pas sensibles à la casse.

Tous les champs et leurs valeurs ne doivent contenir que des caractères ASCII, à l'exception des valeurs des champs x-goog-meta-, qui peuvent contenir des valeurs Unicode arbitraires. Notez que lorsque vous définissez des métadonnées à l'aide de l'API XML, qui envoie des métadonnées personnalisées en tant qu'en-têtes HTTP, les caractères Unicode sont encodés au format UTF-8, puis encodés en URL au format ASCII. Exemple :

gsutil setmeta -h "x-goog-meta-foo: ã" gs://bucket/object

stocke la paire clé-valeur de métadonnées personnalisées foo et %C3%A3. Ensuite, l'exécution de ls -L à l'aide de l'API JSON pour répertorier les métadonnées de l'objet affiche %C3%A3, tandis que l'exécution de ls -L à l'aide de l'API XML permet d'effectuer automatiquement le décodage d'URL associée à cette valeur et imprime le caractère ã.

Afficher les métadonnées actuellement définies

Vous pouvez voir quelles métadonnées sont actuellement définies sur un objet en utilisant :

gsutil ls -L gs://the_bucket/the_object