Для создания устаревших URL-адресов для загрузки мы используем Cloud Storage signed URLs. Теперь нам нужно ограничить максимальный размер файла (т. Е. 32 Мб), а также принятые типы контента - будут действительны только файлы изображений. Есть ли встроенный механизм внутри GCS, который позволяет нам применять эти правила загрузки?Выполнение максимального размера объекта и содержимого/типа mime в пределах подписанных URL-адресов для загрузки
ответ
Вы можете ограничить Content-Type, это необязательная часть строки при создании Signed URL. Google Cloud Storage вернется, когда HTTP-запросы будут сделаны для объектов.
При подготовке подписанного запроса POST можно указать policy document, включая требования, как ожидается, content-type
и content-length-range
с минимальным и максимальным размером.
В случаях, когда значения, поддерживаемые политическим документом, недостаточны, вы можете использовать Object Change Notification для реализации пользовательской проверки при загрузке, включая ограничение по размеру. Если загрузка не соответствует вашим правилам, вы можете удалить ее немедленно.
Метод POST Object может использоваться с истекающим policy document, который ограничивает как длину контента, так и тип содержимого загружаемого объекта.
@NachoColoma О потреблении полосы пропускания: если я правильно понял цену 2017 года, передача 1 ТБ «входит», и теперь она бесплатна: https://cloud.google.com/storage/pricing#network-egress – Deleplace
@Ripounet Вы правы в этом. В любом случае, теперь можно указать минимальный и максимальный размер. Я просто удалил свой комментарий, потому что он устарел и обновил ответ от Брайана Дорси. –
@NachoColoma спасибо за это редактирование, это здорово. Знаете ли вы, может ли эквивалент политического документа для запроса PUT? Я использую PUT из мобильного приложения, следуя этому совету из документа «мы настоятельно рекомендуем использовать объект PUT вместо POST». – Deleplace