Tải các tệp và thư mục từ bộ chứa Google Storage xuống một thư mục cục bộ [đã đóng]


90

Cách tốt nhất để tải xuống tất cả các tệp từ Google Cloud Storage là gì?

Câu trả lời:


151

Hãy xem công cụ gsutil . Bạn có thể sử dụng lệnh cp với tùy chọn -R(đệ quy) và -m(đa luồng).

gsutil -m cp -R gs://<bucket_name> .

Và nếu bạn muốn thử nó với một nhóm công khai, hãy thử

gsutil -m cp -R gs://uspto-pair .

Tốc độ được cấp bởi đa luồng có thể khá đáng kể:

$ 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

Tôi muốn đề nghị không mù quáng tải xô USPTO cặp - có một loạt các tài liệu trong đó ...
Cebjyre

1
Một điều rất quan trọng ở đây là cài đặt gsutil trên máy cục bộ của bạn . Ví dụ, bạn có thể làm điều đó bằng cách cài đặt Google Cloud SDK. Bước này tôi đã quên và tiếp tục sử dụng gsutil trên máy ảo cục bộ của dự án của tôi như một tên ngốc.
Matthias

Dịch vụ này miễn phí hay có thể tính phí? Giống như các hoạt động Lớp A?
Sudhanshu Bò tót

2
Nếu bạn đang tải xuống một số tệp lớn từ bộ chứa của mình vào ổ cứng HDD truyền thống (không phải SSD), thì không sử dụng -mcờ cho đa luồng. Điều này sẽ làm giảm đáng kể thời gian phản hồi của đĩa vì nó sẽ liên tục di chuyển các kim xung quanh giữa các tệp khác nhau. Tôi đã thử sử dụng -mlúc đầu, chỉ để đĩa trở thành nút cổ chai. Bỏ qua -mcờ sẽ giữ cho ổ cứng ghi ở cùng một vị trí vật lý trên đĩa.
JR

điều này thật tuyệt vời! Cảm ơn
daonjaboi

67

Đối với những người muốn tránh cài đặt các công cụ cục bộ như gsutil, có một cách để tải xuống các tệp thư mục từ Google Cloud Storage hoàn toàn trong trình duyệt:

  1. Điều hướng đến: https://console.cloud.google.com/storage/browser/BUCKET_NAME
  2. Tìm thư mục / tệp bạn muốn tải xuống.
  3. Ở trên cùng bên phải của trang, nhấn vào biểu tượng mã để mở Cloud Shell.
  4. Tạo một thư mục tạm thời trong máy ảo Cloud Shell: mkdir Data
  5. Sao chép dữ liệu Cloud Storage vào Datathư mục tạm thời :gsutil -m cp -R gs://BUCKET_NAME/FOLDER_OR_FILE_PATH ./Data
  6. Sao chép dữ liệu vào một tệp zip: zip -r Data.zip Data
  7. Tải xuống tệp zip bằng cách chạy dl Data.ziphoặc: mở trình đơn thả xuống "..." trên thanh công cụ, nhấn "Tải xuống tệp", nhập Data.zipvà nhấn "Tải xuống".

Để thay thế cho các bước 6 và 7 (hoặc nếu bạn muốn tệp tar thay vì zip):

. . 6b. Nhấn vào biểu tượng máy tính (hoặc bút chì) trên thanh công cụ, để mở trình khám phá Môi trường Vỏ đám mây trong một tab mới.
. . 7b. Nhấp chuột phải vào Datathư mục trong trình duyệt thư mục ở bên trái và nhấn "Tải xuống". Một tệp tar sẽ được tải xuống máy cục bộ của bạn, sau đó bạn có thể giải nén bằng cách sử dụng 7-Zip hoặc tương tự.


7
Điều này làm việc như một sự quyến rũ đối với tôi, KHÔNG có bất kỳ gói trả phí nào!
nipunasudha

Có giới hạn kích thước cho thư mục tạm thời không? Bên mình nó ngừng sao chép sau 54%. Tôi đang cố gắng di chuyển 8,4 GB ảnh để tải chúng xuống.
khó khănQuestions

1
@toughQuestions Tôi không biết; Tôi chưa bao giờ cố tải xuống nhiều nội dung như vậy. Giả sử nó có (từ phản hồi của bạn), tôi khuyên bạn chỉ cần cài đặt chương trình gsutil vào máy tính cục bộ của bạn và chạy nó từ đó: stackoverflow.com/q/39137053
Venryx

Tôi sẽ dùng thử, cảm ơn :-)
hardQuestions

1
Có giới hạn 5 GB, vì vậy nó chỉ hữu ích cho những thứ nhỏ hơn. Giải pháp mát mẻ mặc dù.
user32149

16

Trong trường hợp gsutilđang ném một ngoại lệ ( CommandException: Wrong number of arguments for "cp" command.), hãy thử như sau:

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

Dịch vụ này miễn phí hay có thể tính phí? Giống như các hoạt động Lớp A?
Sudhanshu Bò tót

2

Trong trường hợp của tôi, điều hoạt động là điều hướng đến nhóm trong gui trình duyệt và nhấp chuột trái vào tệp và "Lưu tệp".
Điều này rõ ràng là khủng khiếp đối với nhiều tệp, nhưng tất nhiên bạn có thể nén chúng thành một tệp (sử dụng bảng điều khiển đám mây của google).

xem chủ đề này .

Ngoài ra, nếu bạn không có thùng, bạn có thể tạo một thùng, rồi tải lên bằng bảng điều khiển gcloud, ví dụ:gsutil cp file.tgz gs://<bucket>


2
Tôi chỉ nhận ra tại sao câu trả lời của Sebastian không phù hợp với tôi .. vì một số lý do tôi hoàn toàn mù tịt về việc tôi cần cài đặt gsutil trên máy cục bộ của mình . Tiếp tục sử dụng nó trong bảng điều khiển gcloud trong trình duyệt tải xuống máy ảo dự án của tôi ở đó.
Matthias

Vỏ gcloud trong trình duyệt hỗ trợ tải xuống các tệp vm của nó vào máy cục bộ của bạn, vì vậy bạn thực sự không cần cài đặt gsutiltrên máy cục bộ của mình: stackoverflow.com/a/59567734/2441655
Venryx

@Dilvane bằng cách nào đó tùy chọn -m không hoạt động với tôi ... nhưng -r làm như bên dưới ... bharathkumarraju @ R77-NB193 raju% gsutil cp -r gs: // testbucket. Đang sao chép gs: //testbucket/asset-manifest.json ...
BharathKumarRaju Dasararaju

2

Đây là những gì đã làm việc cho tôi:

Bước 1: cài đặt gsutil trên máy cục bộ của bạn: https://cloud.google.com/storage/docs/gsutil_install?hl=fr

Bước 2: Sao chép tệp từ thùng vào máy cục bộ của bạn bằng cách chạy lệnh:gsutil cp [-r if repository] gs://[BUCKET_NAME]/[OBJECT_NAME] [OBJECT_DESTINATION_IN_LOCAL]

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.