我只是想分享这个,因为我花了一段时间来弄清楚它并且在网上找不到任何东西。我在Windows计算机上的CMD提示符下运行此命令:
gsutil cp gs://my_bucket/myfile.txt .
将myfile.txt从Google Cloud Storage传输到我当前的目录,但该命令导致以下错误:
IOError: [Errno 13] Permission denied
我检查了所有其他SO帖子,似乎没有解决问题。用户拥有项目的权限(它实际上是项目所有者),它通过Google Cloud SDK进行身份验证,可以读取文件。我甚至尝试在存储桶中公开文件,但是遇到了同样的错误。用户对要写入的目录具有写入权限。实际上,可以使用相同的命令复制同一存储桶上的其他文件,但不能复制此文件。问题是什么?
问题是当前目录中缺少磁盘空间。 Google Cloud SDK似乎会在写入文件之前尝试保留空间。 myfile.txt是12 GB,但磁盘空间只剩下5 GB,所以gsutil拒绝尝试复制文件,带来非常误导性的错误!