如何将文件从buckte GCS复制到我的本地计算机

时间:2018-02-13 22:27:31

标签: google-cloud-platform google-cloud-storage google-compute-engine

我需要将文件从Google云端存储复制到我的本地计算机:

我尝试这个命令o计算引擎终端:

$sudo gsutil cp -r gs://mirror-bf /var/www/html/mydir

这是本地计算机/var/www/html/mydir上的目录。

我有这个错误:

  

CommandException:目标URL必须命名目录,存储桶或存储桶   cp命令的多源格式的子目录。

哪里出错?

5 个答案:

答案 0 :(得分:2)

您必须先创建目录/var/www/html/mydir

然后,您必须在本地计算机上运行gsutil命令,而不是在Google Cloud Shell中运行。 Cloud Shell在远程计算机上运行,​​无法直接处理本地目录。

答案 1 :(得分:1)

gsutil -m cp -r  gs://bucketname/  "C:\Users\test"

我在文件路径前放置了一个“ r”,即r“ C:\ Users \ test”,并得到了相同的错误。所以我删除了“ r”,它对我有用。

答案 2 :(得分:0)

选中'。' as ./var

$ sudo gsutil cp -r gs:// mirror-bf ./var/www/html/mydir

或者可能低于问题

gsutil cp不支持复制特殊文件类型,例如套接字,设备文件,命名管道或任何其他旨在表示操作系统资源的非标准文件。您不应该使用包含此类文件的源运行gsutil cp(例如,在Linux上以递归方式复制包含/ dev的根目录)。如果这样做,gsutil cp可能会失败或挂起。

来源:https://cloud.google.com/storage/docs/gsutil/commands/cp

答案 3 :(得分:0)

对我来说下载到Mac上的语法是

gsutil cp -r gs://bucketname dir Dropbox/directoryname

答案 4 :(得分:0)

我遇到了类似的问题,并且经历了必须解决这个问题的痛苦过程,所以我想我将为快照提供逐步的解决方案(在Windows下,希望对Unix用户类似),并希望它能为您提供帮助其他:

第一件事(正如许多其他人在各种stackoverflow线程上所指出的那样),您必须运行本地控制台(以管理模式)才能正常工作(即,不要使用cloud shell终端)。

以下是步骤:

  1. 假定您已经在计算机上安装了Python,然后需要使用控制台中的pip安装 gsutil python软件包:

    pip安装gsutil

控制台看起来像这样:
enter image description here

  1. 然后,您将可以从同一控制台运行gsutil配置:

    gsutil配置

如您在快照下面看到的,需要创建一个.boto文件。需要确保您具有访问驱动器的权限。

enter image description here

还请注意,现在提供了一个URL,这是获取授权代码(控制台中提示)所必需的。

  1. 打开浏览器并将此URL粘贴到其中,然后:
  • 登录到您的Google帐户(即与您的Google Cloud关联的帐户)

  • Google要求您确认要授予对GSUTIL的访问权限。点击允许:
    enter image description here

  • 然后将为您提供授权码,您可以将其复制并粘贴到控制台:
    enter image description here

  • 最后,要求您提供项目ID:
    enter image description here

  1. 从您的Google Cloud获取感兴趣的项目ID。
    为了找到这些ID,请点击下面圈出的“我的第一个项目”:
    enter image description here

然后,将为您提供所有项目及其ID的列表。
enter image description here

将该ID粘贴到您的控制台中,按Enter键,就可以了!现在,您已经创建了.boto文件。这应该是您能够使用云存储所需的全部内容。
控制台输出:

Boto config file "C:\Users\xxxx\.boto" created. If you need to use a proxy to access the Internet please see the instructions in that file.
  1. 然后,您可以使用以下gsutil命令将文件和文件夹从云复制到PC:

    gsutil -m cp -r gs:// myCloudFolderOfInterest /“ D:\ MyDestinationFolder”

然后应将“ myCloudFolderOfInterest ”中的文件复制到目标“ MyDestinationFolder ”(在本地计算机上)。