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 son projet parent.
Si vous souhaitez utiliser un nouveau nom pour votre bucket, vous pouvez évidemment le faire en créant un bucket avec le nom que vous souhaitez utiliser, puis en copiant vos objets de l'ancien bucket vers le nouveau. Vous pouvez ensuite supprimer l'ancien bucket. Veuillez noter les points suivants :
Lorsque vous supprimez un bucket, son nom peut être réutilisé.
Si votre objectif principal est de déplacer des objets d'un bucket vers un autre pour stocker vos données dans un emplacement de bucket différent, nous vous recommandons de relocaliser directement votre bucket.
Autorisations requises
Console
Pour suivre ce guide à l'aide de la consoleCloud de Confiance , 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 Autorisations IAM pour la console Cloud de Confiance .
Pour obtenir la liste des rôles appropriés, consultez 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 Autorisations IAM pour les commandes gcloud storage.
Pour obtenir la liste des rôles appropriés, consultez 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 Autorisations IAM pour les méthodes JSON.
Pour obtenir la liste des rôles appropriés, consultez 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-en un.
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 cpavec l'option--recursive:gcloud storage cp --recursive gs://SOURCE_BUCKET/* gs://DESTINATION_BUCKET
Où :
SOURCE_BUCKETcorrespond au nom du bucket d'origine. Par exemple,old-bucket.DESTINATION_BUCKETcorrespond au nom du bucket vers lequel vous transférez vos données. Par exemple,my-bucket.
Si votre bucket utilise des dossiers gérés et un espace de noms unique, vous devez inclure le flag
--include-managed-foldersdans la commande pour que les dossiers gérés soient copiés.Pour supprimer de manière récursive les contenus du bucket source, ainsi que le bucket source lui-même, exécutez la commande
gcloud storage rmavec l'option--recursive:gcloud storage rm --recursive gs://SOURCE_BUCKET
Où
SOURCE_BUCKETcorrespond au nom du bucket d'origine. Par 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 rmavec le flag--all-versionset le caractère générique**:gcloud storage rm --all-versions gs://SOURCE_BUCKET/**
Où
SOURCE_BUCKETcorrespond 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-en un.
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-en un.
Copiez chaque objet de votre bucket source vers le bucket de destination.
Supprimez chaque objet de votre bucket source.
Étapes suivantes
Obtenez davantage d'informations sur les emplacements de buckets disponibles et sur les consignes de dénomination des buckets.