Cette page explique comment modifier les classes de stockage d'objets dans un bucket par réécriture d'un objet.
- Pour savoir comment modifier les classes sans réécrire les objets, reportez-vous à la fonctionnalité de gestion du cycle de vie des objets.
- Pour savoir comment Cloud Storage peut gérer automatiquement les classes de stockage de votre objet, consultez la fonctionnalité de classe automatique.
Rôles requis
Pour obtenir les autorisations requises pour modifier la classe de stockage d'un objet en le réécrivant, demandez à votre administrateur de vous attribuer le rôle Utilisateur d'objets Storage (roles/storage.objectUser) sur le bucket.
Ce rôle contient les autorisations requises pour modifier la classe de stockage d'un objet. Pour afficher les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
storage.objects.createstorage.objects.deletestorage.objects.getstorage.objects.list
Vous pouvez également obtenir ces autorisations avec d'autres rôles prédéfinis ou rôles personnalisés.
Pour savoir comment attribuer des rôles aux buckets, consultez la section Définir et gérer des stratégies IAM sur des buckets.
Modifier la classe de stockage d'un objet
Pour modifier la classe de stockage d'un objet, procédez comme suit :
Console
Les classes de stockage d'objets individuels ne peuvent pas être définies via la consoleGoogle Cloud . Utilisez plutôt la Google Cloud CLI.
Ligne de commande
Exécutez la commande gcloud storage objects update avec l'option --storage-class. Exemple :
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --storage-class=STORAGE_CLASS
Où :
BUCKET_NAMEcorrespond au nom du bucket contenant l'objet dont vous souhaitez modifier la classe. Par exemple,my-bucket.OBJECT_NAMEcorrespond au nom de l'objet dont vous souhaitez modifier la classe. Par exemple,pets/dog.png.STORAGE_CLASScorrespond à la nouvelle classe de stockage de votre objet. Exemple :nearline.
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
API REST
API JSON
Vous devez installer et initialiser gcloud CLIafin de générer un jeton d'accès pour l'en-tête
Authorization.Créez un fichier JSON contenant les informations suivantes :
{ "storageClass": "STORAGE_CLASS" }
Où :
STORAGE_CLASScorrespond à la nouvelle classe de stockage de votre objet. Par exemple,nearline.
Utilisez
cURLpour appeler l'API JSON avec une requêtePOSTObject :curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/rewriteTo/b/BUCKET_NAME/o/OBJECT_NAME"
Où :
JSON_FILE_NAMEcorrespond au chemin d'accès au fichier JSON que vous avez créé à l'étape 2.BUCKET_NAMEcorrespond au nom du bucket contenant l'objet d'origine. Exemple :my-bucketOBJECT_NAMEcorrespond au nom encodé au format URL de l'objet. Par exemple,pets/dog.png, encodé au format URL sous la formepets%2Fdog.png.
API XML
Vous devez installer et initialiser gcloud CLIafin de générer un jeton d'accès pour l'en-tête
Authorization.Utilisez
cURLpour appeler l'API XML avec une requêtePUTObject :curl -X PUT --data-binary @OBJECT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ -H "x-goog-storage-class: STORAGE_CLASS" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Où :
OBJECTcorrespond au chemin d'accès local à l'objet dont vous souhaitez modifier la classe de stockage (lorsque vous modifiez la classe de stockage avec l'API XML, vous devez réimporter l'objet). Exemple :Desktop/dog.png.OBJECT_CONTENT_TYPEcorrespond au type de contenu de l'objet. Par exemple,image/png.STORAGE_CLASScorrespond à la nouvelle classe de stockage de votre objet. Par exemple,nearline.BUCKET_NAMEcorrespond au nom du bucket contenant l'objet que vous réécrivez. Exemple :my-bucket.OBJECT_NAMEcorrespond au nom encodé en URL de l'objet que vous réécrivez. Par exemple,pets/dog.png, encodé au format URL sous la formepets%2Fdog.png.
Étapes suivantes
- En savoir plus sur les classes de stockage disponibles.
- Modifiez les classes de stockage d'objets avec la gestion du cycle de vie des objets.
- Découvrez d'autres fonctionnalités du cycle de vie des données de Cloud Storage.
- Apprenez-en plus sur les métadonnées des objets.
- Découvrez comment utiliser les conditions préalables de requête pour éviter les conditions de concurrence.