Cette page explique comment déplacer le contenu d'un bucket en copiant des objets d'un bucket source vers un bucket de destination.
Présentation
Lorsque vous créez un bucket, certaines des propriétés que vous définissez sont permanentes et ne peuvent pas être modifiées, comme le nom du bucket et le projet auquel il appartient. Cependant, vous pouvez tout de même déplacer ou renommer votre bucket dans les situations suivantes :
Si votre ancien bucket ne contient pas de données, supprimez le bucket et créez un autre bucket avec les propriétés de votre choix.
Si votre ancien bucket contient des données, créez un nouveau bucket avec les propriétés de votre choix, copiez les données de l'ancien bucket dans le nouveau, puis supprimez l'ancien bucket et son contenu. Les étapes présentées sur cette page décrivent ce processus.
Si vous souhaitez que votre nouveau bucket porte le même nom que l'ancien, vous devez déplacer temporairement vos données vers un bucket portant un nom différent. Cela vous permet de supprimer le bucket d'origine afin de pouvoir réutiliser son nom.
Autorisations requises
Console
Pour suivre ce guide à l'aide de la consoleTrusted Cloud , vous devez disposer des autorisations IAM appropriées. Si les buckets auxquels vous souhaitez accéder se trouvent 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 la console Trusted Cloud .
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.
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 les buckets auxquels vous souhaitez accéder se trouvent 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.
API REST
API JSON
Pour suivre ce guide à l'aide de l'API JSON, vous devez disposer des autorisations IAM appropriées. Si les buckets auxquels vous souhaitez accéder se trouvent 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.
Déplacer des données d'un bucket à un autre
Console
Si vous n'avez pas encore de bucket de destination, créez-le.
Copiez chaque objet de votre bucket source vers le bucket de destination.
Ligne de commande
Si vous n'en avez pas encore, créez un bucket de destination.
Pour copier de manière récursive le contenu de votre bucket source dans votre bucket de destination, exécutez la commande
gcloud storage cp
avec l'option--recursive
:gcloud storage cp --recursive gs://SOURCE_BUCKET/* gs://DESTINATION_BUCKET
Où :
SOURCE_BUCKET
correspond au nom du bucket d'origine. Par exemple,old-bucket
.DESTINATION_BUCKET
correspond au nom du bucket vers lequel vous transférez vos données. Exemple :my-bucket
Si votre bucket utilise des dossiers gérés et un espace de noms plat, vous devez inclure l'indicateur
--include-managed-folders
dans la commande pour que les dossiers gérés soient copiés.Pour supprimer de manière récursive le contenu du bucket source, ainsi que le bucket source lui-même, exécutez la commande
gcloud storage rm
avec l'option--recursive
:gcloud storage rm --recursive gs://SOURCE_BUCKET
Où
SOURCE_BUCKET
correspond au nom du bucket d'origine. Exemple :old-bucket
Vous pouvez également supprimer le contenu du bucket source sans supprimer le bucket source lui-même. Pour ce faire, exécutez la commande
gcloud storage rm
avec l'option--all-versions
et le caractère générique**
:gcloud storage rm --all-versions gs://SOURCE_BUCKET/**
Où
SOURCE_BUCKET
correspond au nom du bucket d'origine. Par exemple,old-bucket
.
API REST
API JSON
Si vous n'avez pas encore de bucket de destination, créez-le.
Copiez chaque objet de votre bucket source vers le bucket de destination.
Supprimez chaque objet de votre bucket source.
API XML
Si vous n'avez pas encore de bucket de destination, créez-le.
Copiez chaque objet de votre bucket source vers le bucket de destination.
Supprimez chaque objet de votre bucket source.
Étape suivante
Obtenez davantage d'informations sur les emplacements de buckets disponibles et sur les consignes relatives aux noms des buckets.
Découvrez l'outil de déplacement de bucket, un outil non officiel qui facilite le déplacement de buckets.