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.
Autorisations requises
Console
Les classes de stockage d'objets individuels ne peuvent pas être définies via la console Google Cloud. Utilisez plutôt la Google Cloud CLI.
Ligne de commande
Pour suivre ce guide à l'aide d'un utilitaire de ligne de commande, vous devez disposer des autorisations IAM appropriées. Si l'objet auquel vous souhaitez accéder existe dans un projet que vous n'avez pas créé, vous devrez peut-être demander au propriétaire du projet qu'il vous attribue un rôle contenant les autorisations nécessaires.
Pour obtenir la liste des autorisations requises pour des actions spécifiques, consultez la page Autorisations IAM pour les commandes gcloud storage
.
Pour obtenir la liste des rôles pertinents, consultez la page Rôles Cloud Storage. Vous pouvez également créer un rôle personnalisé disposant d'autorisations limitées spécifiques.
Bibliothèques clientes
Pour suivre ce guide à l'aide des bibliothèques clientes Cloud Storage, vous devez disposer des autorisations IAM appropriées. Si l'objet auquel vous souhaitez accéder existe dans un projet que vous n'avez pas créé, vous devrez peut-être demander au propriétaire du projet qu'il vous attribue un rôle contenant les autorisations nécessaires.
Sauf indication contraire, les requêtes de bibliothèque cliente sont effectuées via l'API JSON et nécessitent des autorisations, comme indiqué dans la section Autorisations IAM pour les méthodes JSON. Pour savoir quelles méthodes d'API JSON sont appelées lorsque vous envoyez des requêtes à l'aide d'une bibliothèque cliente, consignez les requêtes brutes.
Pour obtenir la liste des rôles IAM pertinents, consultez la page Rôles Cloud Storage. Vous pouvez également créer un rôle personnalisé disposant d'autorisations limitées spécifiques.
API REST
API JSON
Pour suivre ce guide à l'aide de l'API JSON, vous devez disposer des autorisations IAM appropriées. Si l'objet auquel vous souhaitez accéder existe dans un projet que vous n'avez pas créé, vous devrez peut-être demander au propriétaire du projet qu'il vous attribue un rôle contenant les autorisations nécessaires.
Pour obtenir la liste des autorisations requises pour des actions spécifiques, consultez la page Autorisations IAM pour les méthodes JSON.
Pour obtenir la liste des rôles pertinents, consultez la page Rôles Cloud Storage. Vous pouvez également créer un rôle personnalisé disposant d'autorisations limitées spécifiques.
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 console Google 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_NAME
correspond au nom du bucket contenant l'objet dont vous souhaitez modifier la classe. Par exemple,my-bucket
.OBJECT_NAME
correspond au nom de l'objet dont vous souhaitez modifier la classe. Par exemple,pets/dog.png
.STORAGE_CLASS
correspond à 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 Configurer l'authentification pour un environnement de développement local.
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 Configurer l'authentification pour un environnement de développement local.
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 Configurer l'authentification pour un environnement de développement local.
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 Configurer l'authentification pour un environnement de développement local.
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 Configurer l'authentification pour un environnement de développement local.
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 Configurer l'authentification pour un environnement de développement local.
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 Configurer l'authentification pour un environnement de développement local.
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 Configurer l'authentification pour un environnement de développement local.
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
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Créez un fichier JSON contenant les informations suivantes :
{ "storageClass": "STORAGE_CLASS" }
Où :
STORAGE_CLASS
correspond à la nouvelle classe de stockage de votre objet. Par exemple,nearline
.
Utilisez
cURL
pour appeler l'API JSON avec une requêtePOST
Object :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_NAME
correspond au chemin d'accès au fichier JSON que vous avez créé à l'étape 2.BUCKET_NAME
correspond au nom du bucket contenant l'objet d'origine. Exemple :my-bucket
OBJECT_NAME
correspond 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
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Utilisez
cURL
pour appeler l'API XML avec une requêtePUT
Object :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ù :
OBJECT
correspond 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_TYPE
correspond au type de contenu de l'objet. Par exemple,image/png
.STORAGE_CLASS
correspond à la nouvelle classe de stockage de votre objet. Par exemple,nearline
.BUCKET_NAME
correspond au nom du bucket contenant l'objet que vous réécrivez. Exemple :my-bucket
.OBJECT_NAME
correspond 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.