Gsutil cp файл с сервера в корзину и сделать файл общедоступным

Используя эту команду на моем сервере из файла php:

exec(gsutil cp /path/to/file/on/server/namefile.ext gs://nameBucket/dir/namefile.ext > /dev/null 2>&1) 

Я получил namefile.ext в корзине, в правильном каталоге ... но мне нужно сделать этот файл общедоступным для чтения.

Уже пытались поместить эту команду (в конец файла, чтобы сделать ее общедоступной), но делать нечего:

exec(gsutil iam ch allUsers:objectViewer gs://nameBucket/dir/namefile.ext > /dev/null 2>&1)

Итак, загрузить работы, но мне нужно сделать файл читается без моего взаимодействия с "браузером" bucket. Есть способ сделать это? Может быть, в команду cp?

5
0
740
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используемая вами команда gsutil iam ch allUsers:objectViewer предназначена для того, чтобы сделать все объекты в корзине общедоступными, но вы предоставили ей URL-адрес объекта.

Итак, если вы хотите сделать конкретный файл общедоступным:

gsutil acl ch -u AllUsers:R gs://nameBucket/dir/namefile.ext

Если вы хотите сделать все объекты в корзине общедоступными:

gsutil iam ch allUsers:objectViewer gs://nameBucket/

Это задокументировано здесь.

Для приведенной выше команды acl ch альтернативой IAM является gsutil iam ch allUsers:legacyObjectReader gs://bucket/obj. Вы можете проверить, какие роли доступны на cloud.google.com/storage/docs/access-control/iam-roles.

mhouglum 12.04.2018 00:19

Другие вопросы по теме