2017-07-02 104 views

回答

1

您也可以直接在您的GCE虛擬機上執行gsutil命令(大多數虛擬機映像預先安裝了Cloud SDK)。例如:

gcloud compute ssh [email protected] --zone my_zone \ 
    --command='gsutil cp path/to/my_file gs://MY_BUCKET' 

請注意,爲此,與VM相關聯的服務帳戶必須具有適當的GCS訪問範圍。如果您運行

gcloud beta compute instances describe my_instance --zone my_zone \ 
    --format="value(serviceAccounts.scopes)" 

它會顯示VM服務帳戶設置範圍清單。確保你有https://www.googleapis.com/auth/cloud-platformhttps://www.googleapis.com/auth/devstorage.full_controlhttps://www.googleapis.com/auth/devstorage.read_write。如果沒有,您可以使用 set-scopes beta command重置它們或轉到控制檯並編輯有問題的虛擬機。

+1

啊,好主意,這比通過本地主機管道一切都高效得多。只有注意,只要記住,這將使用GCE VM上的gsutil配置,而不是本地配置。特別是它可能會使用GCE VM的服務帳戶憑證而不是您的個人憑證。這並不一定是壞的,只是需要注意的一點。 (如果您的個人憑證無法直接訪問存儲桶,則可能更可取,這是一項很好的安全措施。) –

0

的gsutil支持流數據,所以你可以嘗試管道入數據。

不是100%肯定這可與任意的二進制數據(我在手機上,所以我不能測試它)

gcloud compute ssh [email protected] --command='cat /path/to/file' | gsutil cp - gs://my-bucket 
相關問題