【问题标题】:Google Cloud - Download large file from webGoogle Cloud - 从网络下载大文件
【发布时间】:2020-07-29 19:53:53
【问题描述】:

我正在尝试从http://ghtorrent-downloads.ewi.tudelft.nl/mysql/mysql-2020-07-17.tar.gz 下载 GhTorrent 转储文件,大小约为 127gb

我在云端试过,但在 6gb 之后就停止了,我相信使用 curl 有大小限制

curl http://ghtorrent... | gsutil cp - gs://MY_BUCKET_NAME/mysql-2020-07-17.tar.gz

我无法使用数据传输,因为我需要指定 url、字节大小(我有)和哈希 MD5,而我没有,我只能通过将文件放在磁盘中来生成。我认为(?)

还有其他选项可以将文件直接下载并上传到云端吗? 我的总磁盘大小是 117gb 悲伤的哔声

【问题讨论】:

  • 坏消息是:github.com/GoogleCloudPlatform/gsutil/issues/504。但是,很明显,当您运行curl url | gsutil cp <bucket> 时,流量无论如何都会通过您的本地机器,因此就入口/出口效率而言,它与在本地下载文件然后使用@ 将文件复制到存储桶相同。 987654325@
  • 更难过的是2年前的请求

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


【解决方案1】:

使用 Storage Transfer Service 为我工作:https://console.cloud.google.com/transfer/

在移动 TB 之前查看定价,特别是如果您的目标是近线/冷线:https://cloud.google.com/storage-transfer/pricing


使用Transfer Job 将文件从公共 url 复制到我的存储桶的简单示例:

  • 创建一个文件theTsv.tsv 并指定必须复制的文件的完整列表。此示例仅包含一个文件:
TsvHttpData-1.0
http://public-url-pointint-to-the-file
  • theTsv.tsv 文件上传到您的存储桶或任何可公开访问的 URL。在此示例中,我将我的 .tsv 文件存储在我的存储桶 https://storage.googleapis.com/<my-bucket-name>/theTsv.tsv
  • 创建传输作业 - 对象 URL 列表
    • URL of TSV file字段中添加指向theTsv.tsv文件的url
  • 选择目标存储桶
  • 立即运行

我的文件名为 MD5SUB 已从源 url 复制到我的存储桶中,位于相同的目录结构下。

【讨论】:

  • 存储传输的问题是我需要指定文件的MD5哈希
  • 如果你在源服务器上有访问权限,或者你可以要求上传者计算它...openssl md5 -binary mysql-2020-07-17.tar.gz | openssl enc -base64
  • 我做到了。我将在 2 分钟内编辑答案。 .tsv 文件中的 MD5 和大小似乎是可选的
  • 文件必须具有 .tsv 扩展名。内容和我在第一步下粘贴的完全一样:2行,第一行是tsv格式,第二行是url。创建文件后,我将其上传到存储桶中的某个位置。授予对它的公共访问权限。复制了公共网址。将公共 url 粘贴到 tsv 文件的 Url
  • 是的!我遇到的问题是因为我没有将 tsv 文件设置为公开,一旦我将它作为一个魅力使用
猜你喜欢
  • 2013-08-19
  • 2018-04-22
  • 1970-01-01
  • 2017-11-08
  • 2019-06-21
  • 2017-02-21
  • 1970-01-01
  • 2019-05-07
  • 2020-09-25
相关资源
最近更新 更多