从 URL 下载到 GCP 存储桶中

从 URL 下载到 GCP 存储桶中

给定一个指向大文件的 URL,是否有一种快捷方式可以将该文件放入存储桶,而无需将其下载到本地然后上传?

除了构建一个执行任务的 docker 镜像并以某种方式在 GCP 中运行它之外,有没有更简单的方法可以做到这一点?

答案1

正如在关联

1: 您可以使用 curl 命令将数据直接流式传输到存储桶中来完成此操作。

curl http://speedtest.tele2.net/10GB.zip | gsutil cp -gs://YOUR_BUCKET_NAME/10GB.zip

2: 小于 4.6 GB 的文件。

原始方法:只要您的下载量小于 4.6 GB,此方法就有效。启动 Cloud Shell(登录 GCP 中的项目后,右上角的第一个图标)并使用 wget 下载所需的文件。例如,要下载 7-Zip,请输入:wget https://www.7-zip.org/a/7z1805-x64.exe现在,您可以使用 gsutil 命令将文件复制到 Google Cloud Storage 存储桶中:

gsutil cp ./7z1805-x64.exe gs://your_bucket_name/

3: 大于 4.6 GB 的文件。

在您的 Cloud Shell 用户主目录中创建目录mkdir ~/mybucket

现在使用 gcsfuse 将您的存储桶挂载到该目录中:

gcsfuse bucket_name ~/mybucket

将当前目录更改为挂载点目录:(cd mybucket如果您想运行“df -h .”来查看该挂载点有多少空间)现在使用 wget 将文件直接放入您的存储桶中(示例使用来自网络上的 10GB 文件):

wget https://speed.hetzner.de/10GB.bin

欲了解更多信息,请参阅文档存储传输服务并创建一个URL 列表

答案2

Google Cloud Storage 不提供从 URL 加载对象的功能。

您必须编写自己的代码,使用 CLI 或托管服务,例如存储转移服务

相关内容