我正在尝试下载我folder
内的Google Cloud Bucket
,我从谷歌文档gsutil/commands/cp读取并在该行下方执行。
gsutil cp -r appengine.googleapis.com gs:// my-bucket
但我得到了error
CommandException:没有匹配的网址:appengine.googleapis.com
修改
通过运行以下命令
gsutil cp -r gs:// logsnotimelimit。
我收到错误
IOError:[Errno 22]无效模式('ab')或文件名:u'。\ logsnotimelimit \ appengine.googleapis.com \ nginx.request \ 2018 \ 03 \ 14 \ 14:00:00_14:59:59_S0 .json_.gstmp'
答案 0 :(得分:6)
命令中的appengine.googleapis.com
参数是什么?这是您尝试复制到云存储桶的文件系统上的本地目录吗?
您提供的gsutil cp -r appengine.googleapis.com gs://my-bucket
命令会将名为appengine.googleapis.com
的本地目录以递归方式复制到名为my-bucket
的云存储桶中。如果那不是你在做什么 - 你需要以不同的方式构建你的命令。
即。从名为folder
的云存储桶下载名为my-bucket
的目录到当前位置尝试运行
gsutil cp -r gs://my-bucket/folder .
- 更新:由于您似乎在使用Windows计算机(错误消息中的“\
”目录分隔符而不是“/
”)并且由于文件名包含“:
”字符,因此cp
命令在创建带有您看到的错误消息的文件时最终会失败。
答案 1 :(得分:0)
如果有人在Windows上遇到此问题,只是想帮助他们。以管理员身份:
C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\gsutil\gslib\utils
copy_helper.pyc
copy_helper.py
的权限以允许写入copy_helper.py
_GetDownloadFile
download_file_name = _GetDownloadTempFileName(dst_url)
to(例如,目标是去除冒号)
download_file_name = _GetDownloadTempFileName(dst_url).replace(':', '-')
_ValidateAndCompleteDownload
final_file_name = dst_url.object_name
to(例如,目标是去除冒号)
final_file_name = dst_url.object_name.replace(':', '-')
gsutil
命令gsutil -m cp -r gs://my-bucket/* .
下载我的所有日志,默认情况下其中包含:
,对于Windows文件而言并不理想!希望这对某人有帮助,我知道这是一个有点棘手的解决方案,但是由于您不需要(应该有)Windows文件名中的冒号,因此可以很好地做到并忘记。请记住,如果您更新Google SDK,则必须重做。
答案 2 :(得分:0)
我遇到了同样的问题并如下解决。
gsutil -m cp -r gs://[some bucket]/[object] .
zip [某个文件名].zip -r [特定文件夹的某个名称]
gsutil cp [某个文件名].zip gs://[某个桶] .
gsutil cp gs://[some bucket]/[some file name].zip .
我希望这些信息对某人有所帮助。