Quelle est la meilleure façon de télécharger tous les fichiers depuis Google Cloud Storage?
Jetez un œil à outil gsutil . Vous pouvez utiliser la commande cp avec le -R
(récursif) et -m
(multithreading) option.
gsutil -m cp -R gs://<bucket_name> .
Et si vous voulez l'essayer avec un seau public, essayez
gsutil -m cp -R gs://uspto-pair .
L'accélération accordée par le multithreading peut être assez importante:
$ time gsutil cp -R gs://uspto-pair/docs/2010-08-28 .
...
real 0m12.534s
contre
$ time gsutil -m cp -R gs://uspto-pair/docs/2010-08-28 .
...
real 0m3.345s
Si gsutil
lève une exception (CommandException: Wrong number of arguments for "cp" command.
) essayez ce qui suit:
gsutil -m cp -R gs://BUCKETNAME ./LOCALFOLDERNAME
Dans mon cas, ce qui a fonctionné, c'était de naviguer vers le bucket dans l'interface graphique du navigateur et de faire un clic gauche sur le fichier et sur "Enregistrer le fichier".
C'est évidemment terrible pour plusieurs fichiers, mais vous pouvez bien sûr les compresser en un seul fichier (en utilisant la console Google Cloud).
voir ce fil.
De plus, si vous n'avez pas de bucket, vous pouvez en créer un , puis y télécharger à l'aide de la console gcloud, par ex. gsutil cp file.tgz gs://<bucket>
Voici ce qui a fonctionné pour moi:
Étape 1: installez gsutil sur votre machine locale: https://cloud.google.com/storage/docs/gsutil_install?hl= fr
Étape 2: copiez les fichiers du bucket sur votre machine locale en exécutant la commande: gsutil cp [-r if repository] gs://[BUCKET_NAME]/[OBJECT_NAME] [OBJECT_DESTINATION_IN_LOCAL]
Utilisez l'exemple de code ci-dessous pour télécharger un dossier du stockage Google Cloud directement dans le dossier local os.system ('gsutil -m cp -R gs: // abc/./downloadtolocal')