Déplacer et renommer des buckets

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

  1. Si vous n'avez pas encore de bucket de destination, créez-le.

  2. Copiez chaque objet de votre bucket source vers le bucket de destination.

  3. Supprimez votre bucket source et son contenu.

Ligne de commande

  1. Si vous n'en avez pas encore, créez un bucket de destination.

  2. 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.

  3. 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

    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/**

    SOURCE_BUCKET correspond au nom du bucket d'origine. Par exemple, old-bucket.

API REST

API JSON

  1. Si vous n'avez pas encore de bucket de destination, créez-le.

  2. Copiez chaque objet de votre bucket source vers le bucket de destination.

  3. Supprimez chaque objet de votre bucket source.

  4. Supprimez votre bucket source.

API XML

  1. Si vous n'avez pas encore de bucket de destination, créez-le.

  2. Copiez chaque objet de votre bucket source vers le bucket de destination.

  3. Supprimez chaque objet de votre bucket source.

  4. Supprimez votre bucket source.

Étape suivante