为什么 Google 尝试上传大型文件夹(2.5GB 图像)时云存储冻结?

Why does Google Cloud Storage freeze when I try to upload a large folder (2.5GB of images)?

在对 Azure 感到沮丧之后,我决定尝试 GCP。我想尝试使用 GCP 训练深度学习图像分类模型。首先,我通过 Google 云控制台 UI 进入云存储并制作了一个存储桶来上传我的图像,然后......当我尝试上传我的图像文件夹时它冻结了。初体验不佳。

我试过六次了。我总是看到“上传开始”的小弹出窗口,但随后它就冻结了。如果我关闭它并重新打开,存储桶将创建文件夹并下载 3 张左右的图像,但即使我让它 运行 整夜,它也不会取得更多进展。它只是停止上传并变得无响应。我有大约 38,000 张图片,我要上传的文件夹总大小为 2.5 GB。

除了只下载了大约 3 张图像之外,没有任何错误消息,并且在我重新加载时没有任何错误迹象。我电脑上的其他任何东西都没有冻结。如果我在浏览器中打开其他选项卡,它们不会冻结。带有 Google 控制台的选项卡只是默默地冻结。我尝试通过数据传输将文件直接从 Azure Blob 存储移动到 Google,但 Azure 不会授予 Google 访问存储的权限。

有人可以推荐一个可能的解决方法吗?我应该以其他方式上传我的文件吗?

尝试重新创建 2G+ 大小的图像文件夹并使用控制台将其上传到存储桶。以下步骤对我有效。

  1. 创建最大 2G+ 的图像文件
  2. 云存储浏览器 > Select 存储桶
  3. 上传文件夹 > Select 文件夹 > 上传
  4. On/Off 在存储桶详细信息页面上显示已删除的数据
  5. 通过 gsutil command 在云 Shell 上验证。
gsutil ls
gsutil du -h -a gs://$BUCKETNAME
gsutil ls gs://$BUCKETNAME/* | wc -l

一开始上传时,出现无响应弹窗。试图打开新选项卡并尝试在控制台上检查我的存储桶。此外,在检查存储桶上的文件夹时,我只能看到 3 个文件。我给它一些时间大约 15 分钟,并尝试刷新文件夹中的 3 个文件。尝试 onoff Show deleted data(Bucket Details 的右中部分)和一些文件正在显示。我再给它一点时间,比如 30 - 45 分钟,它就完成了。

==> standard input <==
3.02 KiB     gs://testupload/testimage/download (992).jpeg#1651637939860508
3.02 KiB     gs://testupload/testimage/download (993).jpeg#1651637579558398
3.02 KiB     gs://testupload/testimage/download (994).jpeg#1651637761564156
3.02 KiB     gs://testupload/testimage/download (995).jpeg#1651637080592200
3.02 KiB     gs://testupload/testimage/download (996).jpeg#1651637475578587
3.02 KiB     gs://testupload/testimage/download (997).jpeg#1651637634800927
3.02 KiB     gs://testupload/testimage/download (998).jpeg#1651637897219133
3.02 KiB     gs://testupload/testimage/download (999).jpeg#1651638427607588
3.02 KiB     gs://testupload/testimage/download.jpeg#1651636931991159
2.26 GiB     gs://testupload/testimage/

XXXXXXXXX@cloudshell:~ (XXXXXXX)$ gsutil ls gs://testupload/* | wc -l
4564

Source File image

Uploaded Files on Console

是否可以通过控制台上传大量文件in-browser似乎有点零星。在我的特殊情况下,尝试一次上传一个大文件夹(不是文件夹中的大文件,而是文件夹中的大量文件)会导致浏览器因内存问题而冻结 在 GCP 的云存储和当我尝试通过他们的浏览器门户上传时,AWS 的 S3。我已经在 Windows 10 和 Linux Mint 上试过了,在 Google Chrome 和 Firefox 上都试过了,但都无济于事。

一些 GCP 和 AWS 用户报告当文件夹中的文件数量很大时冻结或崩溃,但当文件夹本身很大时则不一定。这正是我的经验——我可以通过云控制台上传一个大文件或一个包含几百个文件的文件夹,但不能上传一个包含数千个文件的文件夹。

我找到的唯一稳定的解决方案是投降并放弃尝试通过浏览器门户上传文件夹中的大量文件,而是通过 CLI 上传。这不是我希望的解决方案,但它是我找到的唯一解决方案。

编辑:

由于这个正确的(并且唯一有效的)解决方案出于某种原因被否决了,

请参阅 Kainax 对遇到此问题的多个 AWS 用户的 this 问题的回答的评论。

关于我在 GCP 中遇到的相同问题,请参阅 this 问题的问答。

由于这是一个问题而不是一个功能,因此没有关于它的官方文档。

我和其他任何人都无法通过 Cloud Console 解决这个问题,多年来这一直是一些用户反复出现的问题。唯一明确的解决方法是在上传包含大量文件的文件夹时完全避免使用控制台 UI。