Apa cara terbaik untuk mendownload semua file dari Google Cloud Storage?
Apa cara terbaik untuk mendownload semua file dari Google Cloud Storage?
Jawaban:
Lihat alat gsutil . Anda dapat menggunakan perintah cp dengan opsi -R
(rekursif) dan -m
(multithreading).
gsutil -m cp -R gs://<bucket_name> .
Dan jika Anda ingin mencobanya dengan ember publik cobalah
gsutil -m cp -R gs://uspto-pair .
Percepatan yang diberikan oleh multithreading bisa sangat signifikan:
$ time gsutil cp -R gs://uspto-pair/docs/2010-08-28 .
...
real 0m12.534s
vs.
$ time gsutil -m cp -R gs://uspto-pair/docs/2010-08-28 .
...
real 0m3.345s
-m
flag untuk multi threading. Ini akan mengurangi waktu respons disk secara signifikan karena akan terus menerus memindahkan jarum di antara file yang berbeda. Saya mencoba menggunakan -m
pada awalnya, hanya untuk membuat disk menjadi penghambat. Menghilangkan -m
bendera akan membuat HDD menulis di lokasi fisik yang sama pada disk.
Bagi mereka yang ingin menghindari pemasangan alat lokal seperti gsutil
, ada cara untuk mengunduh file dan folder dari Google Cloud Storage seluruhnya di browser:
mkdir Data
Data
folder sementara :gsutil -m cp -R gs://BUCKET_NAME/FOLDER_OR_FILE_PATH ./Data
zip -r Data.zip Data
dl Data.zip
, atau: membuka menu tarik-turun "..." di bilah alat, menekan "Unduh file", mengetik Data.zip
, dan menekan "Unduh".Sebagai alternatif untuk langkah 6 dan 7 (atau jika Anda menginginkan file tar, bukan zip):
. . 6b. Tekan ikon komputer (atau pensil) di toolbar, untuk membuka penjelajah Lingkungan Cloud Shell di tab baru.
. . 7b. Klik kanan Data
folder di browser direktori di sebelah kiri, dan tekan "Unduh". File tar akan diunduh ke komputer lokal Anda, yang kemudian dapat Anda ekstrak menggunakan 7-Zip atau sejenisnya.
Dalam kasus gsutil
melempar pengecualian ( CommandException: Wrong number of arguments for "cp" command.
) coba yang berikut ini:
gsutil -m cp -R gs://BUCKETNAME ./LOCALFOLDERNAME
Dalam kasus saya, yang berhasil adalah menavigasi ke keranjang di gui browser dan mengeklik kiri file dan "Simpan file".
Ini jelas mengerikan untuk banyak file, tetapi Anda tentu saja dapat mengompresnya menjadi satu file (menggunakan konsol Google cloud).
lihat utas ini .
Selain itu, jika tidak memiliki bucket, Anda dapat membuatnya , lalu menguploadnya menggunakan konsol gcloud, misgsutil cp file.tgz gs://<bucket>
gsutil
di komputer lokal Anda: stackoverflow.com/a/59567734/2441655
Inilah yang berhasil untuk saya:
Langkah 1: instal gsutil di komputer lokal Anda: https://cloud.google.com/storage/docs/gsutil_install?hl=fr
Langkah 2: Salin file dari bucket ke komputer lokal Anda dengan menjalankan perintah:gsutil cp [-r if repository] gs://[BUCKET_NAME]/[OBJECT_NAME] [OBJECT_DESTINATION_IN_LOCAL]