【问题标题】:Google Storage: I can create a bucket, but I can't access the "transfer" function谷歌存储:我可以创建一个存储桶,但我无法访问“转移”功能
【发布时间】:2018-07-27 17:14:50
【问题描述】:

我似乎又遇到了某种权威问题。

我需要将存储桶的全部内容移动到一个新存储桶中(现有存储桶的名称中有“test”,我们很快就会将其用于生产)。我知道这通常是通过“转移”来完成的。

我可以创建一个存储桶,但我无法访问“传输”功能。如果我尝试转到转移页面,我会得到: 您无权对所选资源执行操作。

我的研究告诉我,我需要“编辑”或“所有者”角色,但我什至不知道我拥有什么项目级别的角色。缺少其中一个角色,我怎么能创建一个存储桶?

【问题讨论】:

    标签: google-cloud-storage


    【解决方案1】:

    Storage Transfer Service 是移动或复制非常大的存储桶的好选择。但请记住,如果存储桶相当小(可能十几 GB 或更少),则从命令行复制内容可能更容易,如下所示:gsutil -m cp -r gs://sourceBucket/** gs://destBucket

    假设您确实想使用 Storage Transfer Service,您需要成为创建作业的项目的成员(特别是所有者或编辑者)。这不一定是拥有源或目标存储桶的项目。如果您不是,则需要有人授予您该权限(有关如何完成此操作的更多信息,请参阅“Manage project members”)。在此重述:

    1. 寻找拥有该项目的人。
    2. 让他们去Cloud Platform Console
    3. 打开控制台左侧菜单并选择 IAM & Admin。
    4. 从项目列表中,选择要添加成员的项目。
    5. 点击添加成员并提供电子邮件地址。
    6. 选择一个角色。项目所有者或编辑。
    7. 点击“添加”。
    8. 如果您选择了所有者,请查看您的电子邮件以查看您成为新所有者的邀请。点击链接接受角色。

    一旦您成为项目的所有者或编辑者,请前往storage transfer console 配置并开始传输。

    【讨论】:

    • 谢谢。实际上,更像gsutil cp -r gs://source/* gs://target,因为需要保留目录树。但有了这一变化,结果肯定是正确的。
    • 好点,我会解决的。 gsutil -m 也是一个好主意,如果它是一个巨大的桶。这几乎肯定会加快速度。
    • 我可以从存储浏览器中看到新存储桶的内容,但不能从我安装了新存储桶的计算实例中看到! (开始一个关于它的新线程。)
    【解决方案2】:

    “gsutil cp”最终不起作用:即使添加了“-p”选项,为了保留 ACL,存储桶的内容对于需要访问存储桶的 Google Compute 实例来说是完全不可见的。

    我最终将新存储桶擦干净,将两个存储桶安装在一个实例中,并从实例命令行从一个存储桶到另一个存储桶执行“cp -r -P -p”。成功了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-24
      • 2016-01-31
      • 2020-02-15
      • 2016-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-10
      相关资源
      最近更新 更多