【问题标题】:How do I setup a public Google Cloud Storage bucket如何设置公共 Google Cloud Storage 存储分区
【发布时间】:2014-09-25 12:52:49
【问题描述】:

我正在尝试将文件上传到 Google Cloud Storage 上的存储桶,但我无法弄清楚如何设置它以使其可公开写入和读取。换句话说,我不想要求用户进行身份验证才能上传到存储桶。有谁知道设置它要遵循的步骤?

我还想知道我需要在请求标头中附加什么内容才能将文件上传到此存储桶。我正在使用 iOS API 客户端,但如果有人知道原始标头是什么,我可能会从那里弄清楚如何在 iOS 中执行此操作。目前,我只包含以下附加标头:x-goog-project-id

【问题讨论】:

    标签: google-api google-cloud-storage google-api-client google-cloud-platform


    【解决方案1】:

    对于您的第一个问题,您可以使用以下使用 gsutil acl syntax 的命令公开您新上传的对象:

    gsutil defacl ch -u allUsers:R gs://<bucket>
    

    现在您需要使用以下命令向每个人授予对该存储桶的写入权限:

    gsutil acl ch -u allUsers:O gs://<bucket>
    

    关于您的其他问题,我对 iOS 不熟悉,但您可以转到 this page 的底部并上传一个对象,您会看到可以在代码中使用的 HTTP 请求。

    此外,还有Google API Client Library for Objetive-C,似乎使用该库您可以管理谷歌云存储as per these files

    希望对你有帮助。

    【讨论】:

      【解决方案2】:

      请考虑使用签名 URL (https://developers.google.com/storage/docs/accesscontrol#Signed-URLs),而不是让您的存储桶公开可写。拥有一个可公开写入的存储桶可能会导致各种形式的滥用,如果您的存储桶被 Internet 上的某个人发现然后上传大量数据到其中,也可能导致您收到高得惊人的账单。

      【讨论】:

      • 我完全打算使用签名 URL,但现在我真的只想让概念验证工作,而不必实现过于复杂的东西。
      猜你喜欢
      • 1970-01-01
      • 2020-05-07
      • 2019-03-31
      • 1970-01-01
      • 2017-11-15
      • 1970-01-01
      • 2014-01-05
      • 1970-01-01
      • 2017-12-23
      相关资源
      最近更新 更多