Unduh file dan folder dari keranjang Google Storage ke folder lokal [ditutup]


Jawaban:


150

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

Saya sarankan untuk tidak mengunduh ember pasangan uspto secara membabi buta - ada banyak dokumen di sana ...
Cebjyre

1
Hal yang sangat penting di sini, adalah menginstal gsutil di komputer lokal Anda . Misalnya, Anda dapat melakukannya dengan menginstal Google Cloud SDK. Langkah ini saya lupa dan terus menggunakan gsutil di VM lokal proyek saya seperti orang bodoh.
Matthias

Apakah layanan ini gratis atau dapat ditagih? Suka operasi Kelas A?
Sudhanshu Gaur

2
Jika Anda mendownload sejumlah file besar dari bucket Anda ke HDD tradisional (bukan SSD), jangan gunakan -mflag 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 -mpada awalnya, hanya untuk membuat disk menjadi penghambat. Menghilangkan -mbendera akan membuat HDD menulis di lokasi fisik yang sama pada disk.
JR

ini menjengkelkan! Terima kasih
kninjaboi

67

Bagi mereka yang ingin menghindari pemasangan alat lokal seperti gsutil, ada cara untuk mengunduh file dan folder dari Google Cloud Storage seluruhnya di browser:

  1. Navigasikan ke: https://console.cloud.google.com/storage/browser/BUCKET_NAME
  2. Temukan folder / file yang ingin Anda download.
  3. Di kanan atas halaman, tekan ikon kode untuk membuka Cloud Shell.
  4. Buat folder sementara di mesin virtual Cloud Shell: mkdir Data
  5. Salin data Cloud Storage ke Datafolder sementara :gsutil -m cp -R gs://BUCKET_NAME/FOLDER_OR_FILE_PATH ./Data
  6. Salin data ke dalam file zip: zip -r Data.zip Data
  7. Unduh file zip dengan menjalankan 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 Datafolder 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.


7
Yang ini bekerja seperti pesona bagi saya, TANPA paket berbayar apa pun!
nipunasudha

Apakah ada batasan ukuran untuk folder temp? Di sisi saya berhenti menyalin setelah 54%. Saya mencoba memindahkan 8,4 GB gambar untuk mengunduhnya.
ToughQuestions

1
@toughuestions Saya tidak tahu; Saya tidak pernah mencoba mengunduh konten sebanyak itu. Dengan asumsi ya (dari umpan balik Anda), saya sarankan untuk menginstal program gsutil ke komputer lokal Anda, dan menjalankannya dari sana: stackoverflow.com/q/39137053
Venryx

Saya akan mencobanya, terima kasih :-)
toughQuestions

1
Ada batasan 5 GB, jadi ini hanya berguna untuk yang lebih kecil. Solusi Keren.
pengguna32149

16

Dalam kasus gsutilmelempar pengecualian ( CommandException: Wrong number of arguments for "cp" command.) coba yang berikut ini:

gsutil -m cp -R gs://BUCKETNAME ./LOCALFOLDERNAME

Apakah layanan ini gratis atau dapat ditagih? Suka operasi Kelas A?
Sudhanshu Gaur

2

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>


2
Saya baru menyadari mengapa jawaban Sebastian tidak berhasil untuk saya .. untuk beberapa alasan saya benar-benar buta terhadap fakta bahwa saya perlu menginstal gsutil di komputer lokal saya . Tetap menggunakannya di konsol gcloud dalam browser yang mengunduh ke VM proyek saya di sana.
Matthias

Shell gcloud dalam browser mendukung pengunduhan file vm-nya ke komputer lokal Anda, jadi Anda sebenarnya tidak perlu menginstal gsutildi komputer lokal Anda: stackoverflow.com/a/59567734/2441655
Venryx

@Dilvane entah bagaimana opsi -m tidak bekerja untuk saya ... tetapi -r melakukan seperti di bawah ini ... bharathkumarraju @ R77-NB193 raju% gsutil cp -r gs: // testbucket. Menyalin gs: //testbucket/asset-manifest.json ...
BharathKumarRaju Dasararaju

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.