2013-04-12 6 views
5

Я хотел использовать статические файлы, хранящиеся в облачной хранилище Google для приложения, размещенного в приложении. В HTML-файл, я использовалОбслуживание статических файлов из облачных хранилищ Google?

<link href="https://storage.cloud.google.com/my_bucket/custom.css" rel="stylesheet"> 

Он работает должным образом, если Google счет зарегистрированного пользователя имеет разрешение на доступ ведро. Поскольку приложение может быть доступно всем, у кого не будет доступа к моему ведру, и в этом случае статические файлы не будут обслуживаться.

Можно ли сделать статические файлы в ведре общедоступными? Я сделал статический файл (custom.css) как «общедоступный» (ACL установлен на «public-read»), но другие пользователи не могут получить к нему доступ.

+0

ли вы это сделать, установив по умолчанию ACL на ведре после того, как вы добавили файл? –

+0

Ya. Я использовал files.gs.create ("/ gs/my_bucket/custom.css", acl = 'public-read'). – rajpy

ответ

7

Я не уверен, как вы загружаете свои файлы и почему публичное чтение настроено неправильно, но вы также можете изменить это через Google Cloud Storage Manager. Просто найдите ведро и файл и нажмите на галочку Share Publicly, и вы получите ссылку.

list of files in the bucket on cloud storage

Или вы можете загрузить этот файл, используя gsutil с общественностью прочитал сразу:

gsutil cp -a public-read custom.css gs://my_backet 
+0

Checkbox отсутствует! Спасибо за изображение, иначе я бы не смог его найти. – rajpy

0

Помимо вручную изменить каждый из статических файлов через Google Cloud Storage Manager вы также можете установить ведро быть общедоступно с использованием gsutil:

Использовать acl, чтобы установить общедоступные значения для объектов текущего ковша

gsutil -m acl set -R -a public-read gs://BUCKET_NAME 

defacl Используйте для установки по умолчанию для будущих загрузок:

gsutil -m defacl set public-read gs://BUCKET_NAME 

«Общее публично» флажок будет автоматически проверяются на наличие каждого закачанных файлов.

Для accessing bucket, убедитесь, что у вас есть войти в авторизованный идентификатор или адрес электронной почты для групп и пользователей и домен для bucket permission в противном случае вы получите сообщение об ошибке, как:

'DefAclCommand' object has no attribute 'continue_on_error' 
Смежные вопросы