当我使用
这样的格式时gcloud compute copy-files user@instance-1:/home/user/file \ /home/user/Desktop \ --zone europe-west1-b
它给了我错误
没有桌面
这样的文件或目录
答案 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的完全访问权限的选项。
答案 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,而不是几个小时来尝试下载单个文件。