Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 将文件从远程服务器复制到google云存储桶_Google Cloud Platform_Google Cloud Storage_Gcloud_Gsutil - Fatal编程技术网

Google cloud platform 将文件从远程服务器复制到google云存储桶

Google cloud platform 将文件从远程服务器复制到google云存储桶,google-cloud-platform,google-cloud-storage,gcloud,gsutil,Google Cloud Platform,Google Cloud Storage,Gcloud,Gsutil,如何将文件从远程服务器复制到google bucket?比如说, gcloud计算scpusername@server:/path/to/file gs://my bucket 此方法给出错误:当目标为远程时,所有源必须是本地文件。 此外,gsutil只提供对cp的支持,而不提供对scp的支持 提前谢谢 gsutil支持流式数据,因此您可以尝试将数据导入 不是100%确定这适用于任意二进制数据(而且我正在打电话,所以无法测试它) 您还可以在GCE虚拟机上直接执行gsutil命令(大多数虚拟机映像

如何将文件从远程服务器复制到google bucket?比如说,

gcloud计算scpusername@server:/path/to/file gs://my bucket

此方法给出错误:
当目标为远程时,所有源必须是本地文件。

此外,gsutil只提供对cp的支持,而不提供对scp的支持


提前谢谢

gsutil支持流式数据,因此您可以尝试将数据导入

不是100%确定这适用于任意二进制数据(而且我正在打电话,所以无法测试它)


您还可以在GCE虚拟机上直接执行
gsutil
命令(大多数虚拟机映像都预装了Cloud SDK)。例如:

gcloud compute ssh user@server --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-platform
https://www.googleapis.com/auth/devstorage.full_control
https://www.googleapis.com/auth/devstorage.read_write
。如果没有,你可以使用
重置它们或转到控制台并编辑有问题的VM。

啊,好主意,这比通过本地主机传输所有内容要高效得多。只需注意,记住这将在GCE VM上使用gsutil配置,而不是本地配置。特别是,它可能会使用GCE VM的服务帐户凭据而不是您的个人凭据。这并不一定是坏事,只是需要注意。(如果您的个人凭证不能直接访问bucket,这可能是一种很好的安全措施,那么您甚至会更愿意这样做。)
gcloud beta compute instances describe my_instance --zone my_zone \
  --format="value(serviceAccounts.scopes)"