从谷歌云计算实例下载文件

时间:2017-07-04 09:03:56

标签: google-cloud-platform

当我使用

这样的格式时
gcloud compute copy-files user@instance-1:/home/user/file \ /home/user/Desktop \ --zone europe-west1-b 

它给了我错误

  

没有桌面

这样的文件或目录

6 个答案:

答案 0 :(得分:2)

这对我有用 - Mac OS X

gcloud compute scp username@vminstance:source-directory local-directory --zone instancezone

在使用Google SDK正确设置PATH之前。​​

PATH=/your-google-cloud-sdk-folder/bin:$PATH

答案 1 :(得分:1)

如果您要将gcloud计算引擎实例上的文件传输到本地计算机或其他实例,最好的方法是将文件上传到Google云端存储。将链接公开并下载。 请按照这些文档https://cloud.google.com/storage/docs/uploading-objects

假设您有要下载的文件example.zip。 首先在gcloud存储中创建一个存储桶,假设为example10

您有多种语言选项可用于上传文件。我将在Curl和Python中展示示例。

  

要在curl上使用Restful API,首先必须获取OAUTH2_TOKEN才能访问   云存储。

然后在终端上输入

curl -X POST --data-binary @example.zip \
    -H "Authorization: Bearer [OAUTH2_TOKEN]" \
    -H "Content-Type: application/zip" \
    "https://www.googleapis.com/upload/storage/v1/b/example10/o?uploadType=media&name=myexample.zip"
  

现在我将使用Python

向您展示一个示例

如果您不想使用OAUTH2_TOKEN,请确保您的实例具有对所有Cloud API的完全访问权限。然后你可以使用python上传对象。

安装python的谷歌云存储客户端

pip install --upgrade google-cloud-storage

然后在终端

上输入python打开python命令行
from google.cloud import storage

def upload_blob(bucket_name, source_file_name, destination_blob_name):
    """Uploads a file to the bucket."""
    storage_client = storage.Client()
    bucket = storage_client.get_bucket(bucket_name)
    blob = bucket.blob(destination_blob_name)
    blob.upload_from_filename(source_file_name)
    print('File {} uploaded to {}.'.format(
        source_file_name,
        destination_blob_name))

upload_blob("example10", "example.zip", "myexample.zip")

您可以通过单击实例的名称并编辑详细信息,找到提供对所有Cloud API的完全访问权限的选项。

enter image description here

答案 2 :(得分:0)

如果您使用SSH for Google Cloud Platform通过https://console.cloud.google.com连接到实例,则可以通过“设置”菜单中的“下载文件”下载特定文件(可通过右上角的设置图标访问)

答案 3 :(得分:0)

这对我有用

语法:

gcloud compute scp <UserName>@<ServerName/InstanceName>:~/<FilePathFromInstance> <LocalSystemFilePath>

答案 4 :(得分:0)

Windows 用户的另一种方式是使用远程应用程序,例如 MobaXterm。通过 SSH 连接到您的 unix 服务器后,您可以通过 GUI 轻松地从服务器下载/上传文件。

答案 5 :(得分:-1)

使用谷歌存储桶在计算引擎和工作站之间移动大文件。在几秒钟内移动了多个 GB,而不是几个小时来尝试下载单个文件。