У нас есть корзина с некоторыми файлами за CDN вместе с подписанными URL-адресами. Мы используем строку запроса с версией для обновления содержимого в соответствии с передовой практикой , например file.ext? v = 100.
До недавнего времени все работало хорошо. В документации теперь указано, что серверные сегменты не обрабатывают строки запроса. Однако раньше мы не встречали такое ограничение, поэтому, похоже, это недавнее изменение.
Существуют ли какие-либо обходные пути для получения обновлений почти в реальном времени? Мы не можем избавиться от CDN из-за задержки и не можем изменить имена файлов, поскольку это потребовало бы многих изменений кода. Аннулирование также недопустимо.
Вы правы, в официальной документации указано, что:
Для бэкендовых ведер ключ кэша состоит из URI без строки запроса. 1
Похоже, причина изменения заключается в том, что старое поведение привело к потере возможностей кэширования, увеличению стоимости и задержек. Единственным рекомендуемым обходным решением на данный момент является создание новых объектов путем включения версии в имя объекта или использования недействительных опций в вашем случае.
Но не должно иметь значения, что ведро не вычисляет строку запроса, так как CDN все равно должен это делать. На самом деле я могу воспроизвести этот же сценарий и в настоящее время все еще возможно использовать строку запроса в качестве бастера кэша.