- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 GCP 的 Compute Engine 虚拟机实例中训练了一个模型,并使用 gsutil cp -r
命令将权重复制到 Cloud Storage 存储桶中。
然后,我将存储桶公开,并尝试使用命令 !gsutil cp -r gs://{bucket/folder} ./
但是,我收到以下错误:
ResumableDownloadException: Transfer failed after 23 retries. Final exception: Anonymous caller does not have storage.objects.get access to {folder/path}
为什么我会收到此错误?
最佳答案
Cloud Storage 存储分区缺少相应的 Cloud IAM 角色使其完全公开阅读。角色 roles/storage.objectViewer
提供读取和列出对象的必要权限存储桶 - 将其分配给 allUsers
将使其公开。
因此,根据 documentation ,这可以通过单个 gsutil
来实现命令:
iam
gsutil iam ch allUsers:objectViewer gs://[BUCKET_NAME]
。
然后,在 Google Colab 中,您应该能够通过以下方式从 Cloud Storage 存储桶读取(或下载)对象:
!gsutil cp -r gs://[BUCKET_NAME]/[FOLDER_NAME] ./
更安全的方法是不创建整个云存储公共(public)存储桶,使用以下 Python 对其进行身份验证笔记本中的代码:
from google.colab import auth auth.authenticate_user()
然后通过 gcloud
命令设置您正在使用的项目 ID;相应地替换 my-project
:
!gcloud 配置集项目 my-project
最后运行gsutil
命令;替换 bucket
和文件夹
:
!gsutil cp -r gs://[BUCKET_NAME]/[FOLDER_NAME] ./
关于machine-learning - 使用 'gsutil' 从 Cloud Storage 存储桶上传到 Google Colab 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59642492/
我是一名优秀的程序员,十分优秀!