无法将文件从Google云存储桶复制到VM实例

时间:2019-12-08 08:46:51

标签: permissions copy cloud transfer

我正在尝试将文件从云存储桶传输到VM实例。

我通过SSH连接到VM实例,并使用了gsutil这样的代码:

gsutil cp gs:// [存储桶名称] / [文件名] / home

然后发生错误

复制gs://huji/final-project-deep-learning-19-tf.tar ... OSError:权限被拒绝。 GiB]

所以我尝试了这个命令:

sudo gsutil cp gs:// [存储桶名称] / [文件名] / home

然后,下载完成。

复制gs://huji/final-project-deep-learning-19-tf.tar ... | [1个文件] [1.7 GiB / 1.7 GiB] 76.2 MiB / s

但是我找不到任何文件,并且磁盘卷没有更改。 谁能解释为什么会这样以及如何从云中复制文件?谢谢。

1 个答案:

答案 0 :(得分:0)

  1. 创建服务帐户link

    gcloud iam service-accounts create transfer --description "transfer" --display-name "transfer"
    
  2. 设置一个新实例以作为服务帐户运行:

    gcloud compute instances create instance --service-account transfer@my-project.iam.gserviceaccount.com --scopes https://www.googleapis.com/auth/devstorage.full_control
    
  

例如,完全访问Cloud Storage的范围是   https://www.googleapis.com/auth/devstorage.full_control。的别名   该范围已满存储

  1. SSH到VM实例:

    gcloud beta compute --project "my-project" ssh --zone "us-central1-a" "instance"
    
  2. 复制文件:

    gsutil cp gs://bucket/file.csv .
    
  3. 列出文件:

    ls
    file.csv