Comment transférer des données directement d'un projet Google Cloud Storage à un autre? Je comprends comment télécharger et comment télécharger, mais je souhaite transférer directement entre projets.
Pour copier un seul objet d'un emplacement GCS à un autre, vous pouvez utiliser la commande copy. Cela peut être effectué à partir de nos API publiques ou de notre client en ligne de commande, gsutil.
Avec gsutil, la commande est simplement:
gsutil cp gs://bucket1/obj gs://bucket2/obj2
Edit: Depuis que j'ai écrit ceci, le service de transfert Google Cloud est devenu disponible, ce qui est utile pour copier des compartiments entiers entre des projets GCS ou pour copier des compartiments entiers de S3 vers GCS. Vous pouvez en savoir plus ici: https://cloud.google.com/storage/transfer/
Ouvrez la console Web Stockage> Transfert pour créer un nouveau transfert.
Sélectionnez le compartiment source à partir duquel vous souhaitez copier. Tout comme cratervale menitoned juste au-dessus ici, les identificateurs de seau sont globalement unique (c'est la clé de la solution ). Ainsi, une fois que vous arrivez à la partie de destination du formulaire de transfert, vous pouvez écrire/coller le compartiment cible directement dans sa saisie de texte. Même si ce seau provient d'un autre projet. Il vous montrera une icône verte une fois que la cible a été vérifiée comme seau existant. Vous pouvez continuer le formulaire pour finaliser votre configuration.
Une fois que vous avez commencé le transfert à partir du formulaire, vous pouvez suivre sa progression en appuyant sur le bouton d'actualisation en haut de la console.
Les noms de compartiment dans GCS sont uniques dans tous vos projets. Par exemple, Project1 et Project2 ne peuvent pas avoir tous les deux des compartiments nommés "images", bien qu'ils puissent avoir chacun des dossiers nommés "images".
Cela peut sembler trompeur car gsutil peut vous demander de sélectionner un projet avec lequel travailler. Pour la commande de copie, cette sélection peut être ignorée.
gsutil cp gs://bucket1/obj gs://bucket2/obj
vous permettra de copier un objet dans Project1/bucket1 vers Project2/bucket2
Utiliser Google Cloud Shell
Aller au premier projet qui a le seau que vous vouliez copier gcloud config set project [PROJECT1 ID]
Fait un répertoire, vous pouvez monter ce seau à mkdir test
Montez le seau dans le répertoire gcsfuse [BUCKET1] test
Basculez vers le deuxième projet, qui contenait le compartiment que vous vouliez peupler gcloud config set project [PROJECT2 ID]
Copiez le contenu du nouveau dossier dans le deuxième compartiment. gsutil cp -r /home/user/test gs://[BUCKET2]