Почему S3 (использование с boto и django-storage) дает подписанный url даже для общедоступных файлов?

Это странно. У меня есть как публичные, так и частные файлы. Я хочу обычные URL-адреса в общедоступных файлах и подписанные URL-адреса в частных файлах.

Я попытался изменить AWS_QUERYSTRING_AUTH to False, как я вижу по умолчанию, он True в django-хранилищах.

Но, когда я его меняю, мой личный файл url не подписан (таким образом, недоступен).

Может быть, я что-то пропустил. Что может быть решением?

Спасибо заранее.

Ответ 1

AWS_QUERYSTRING_AUTH задает поведение по умолчанию, но вы можете переопределить его при создании экземпляра S3BotoStorage, передав дополнительный аргумент инициализатору:

S3BotoStorage(bucket="foo", querystring_auth=False)

Итак, если у вас есть один ведро private и другое сообщество, вы можете соответствующим образом установить аргумент querystring_auth и получить желаемое поведение.

Ответ 2

поместите это в свой settings.py

AWS_QUERYSTRING_AUTH = False