Cách tốt nhất để tải xuống tất cả các tệp từ Google Cloud Storage là gì?
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:
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
-m
cờ 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 -m
lúc đầu, chỉ để đĩa trở thành nút cổ chai. Bỏ qua -m
cờ sẽ giữ cho ổ cứng ghi ở cùng một vị trí vật lý trên đĩa.
Đố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 và thư mục từ Google Cloud Storage hoàn toàn trong trình duyệt:
mkdir Data
Data
thư mục tạm thời :gsutil -m cp -R gs://BUCKET_NAME/FOLDER_OR_FILE_PATH ./Data
zip -r Data.zip Data
dl Data.zip
hoặ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.zip
và 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 Data
thư 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ự.
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
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>
gsutil
trên máy cục bộ của mình: stackoverflow.com/a/59567734/2441655
Đâ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]