如何在gcloud存储桶的文件夹中将所有文件更改为公共文件?

时间:2018-10-25 02:54:40

标签: permissions gcloud public bucket

我目前正在寻找一种方法来将gcloud存储桶文件夹中的所有文件的权限设置为公开。

我需要分别设置权限。

已经引用了Google文档(https://cloud.google.com/storage/docs/access-control/making-data-public),但只能一一找到。 (我不能使用对象应用方式)

有什么方法可以将gcloud存储桶文件中的所有文件的公开权限更改为公开吗?

1 个答案:

答案 0 :(得分:0)

要将所有文件从存储桶文件夹更改为公共文件,可以运行:

gsutil acl -r ch -u AllUsers:R gs://[BUCKET_NAME]/[FOLDER_NAME]/*

请注意,-r标志还将公开原始文件夹中子文件夹内的所有文件(即 gs:// [BUCKET_NAME] / [FOLDER_NAME] / [FOLDER_2] / FILE 也会公开)。如果您不想要这种效果,请把它拿出来。

您还可以通过在-mgsutil(即acl)之间添加gsutil -m acl flag来并行运行该操作

此方法依赖于wildcards(*)的使用,您也可以使用它们来“过滤”文件

  • gs:// bucket / data / prefix *将对所有以“前缀”开头的文件进行操作
  • gs:// bucket / data / *后缀将按以该后缀结尾的文件进行过滤
  • gs:// bucket / data / *将使用所有文件

documentation中还有其他操作(我刚刚列出了基本操作)。