【问题标题】:Set all files in Google Cloud Storage Bucket to public by default将 Google Cloud Storage Bucket 中的所有文件默认设置为公开
【发布时间】:2018-08-09 15:13:35
【问题描述】:

我正在尝试将上传到存储桶的文件默认设置为公开。

在编辑存储桶权限时,我得到下面的弹出窗口,我不明白,我找不到任何有关它的文档。如何设置对公众的可用性?

“实体”选择框有以下选项:域、组、用户、项目

目前的设置似乎没有将文件设置为公开,因为当我尝试通过使用CloudStorageTools::getPublicUrl($fileName, false) 获得的 url 访问文件时,我得到:

<Error>
<Code>NoSuchKey</Code>
<Message>The specified key does not exist.</Message>
</Error>

【问题讨论】:

    标签: google-app-engine


    【解决方案1】:

    您需要为此设置 ACL:

    gsutil defacl set public-read gs://bucket

    【讨论】:

      【解决方案2】:

      Making Data Public

      活动的 Google Cloud Shell

      gsutil acl ch -u AllUsers:R gs://[BUCKET_NAME]/[OBJECT_NAME]
      

      如果成功,响应类似于以下示例:

      Updated ACL on gs://[BUCKET_NAME]/[OBJECT_NAME]
      

      在命令中,选择bucket后的路径中,一定要尊重CamelCase的书写风格。


      我建议将命令分别应用于每个文件以获取 短 URL。因为如果我们将权限分配给目录,则可以通过长 URL 访问文件。

      短网址:

      https://storage.googleapis.com/[BUCKET_NAME]/[FILE_PATH]/[FILE]
      

      【讨论】:

        猜你喜欢
        • 2014-11-14
        • 2017-05-10
        • 2015-11-15
        • 2017-11-08
        • 1970-01-01
        • 2020-06-13
        • 2015-11-08
        • 1970-01-01
        • 2014-01-21
        相关资源
        最近更新 更多