Идентичность файла

Файл как объект с идентичностью, а не ссылка на место

Ядро с первого дня

Что это даёт

Сущности продуктов и все внутренние ссылки хранят file_id, а при необходимости и version_id. Ссылка на чтение живёт минуты и выдаётся заново при каждом запросе. Поэтому перенос между кластерами, смена места хранения и новая версия не ломают ни одной ссылки в продуктах.

Как устроено

  • file_id неизменен на всю жизнь объекта, место хранения меняется отдельным полем
  • Регион и storage_ref описывают место, идентичность от места не зависит
  • Ссылка на скачивание подписана и живёт ровно столько, сколько длится действие
  • При истечении ссылки интерфейс молча запрашивает свежую, а не показывает ошибку

Ограничения

  • Ссылку на скачивание нельзя сохранить в продукте навсегда: она истекает, хранить нужно file_id
  • Объект целиком лежит в одном регионе хранения, версии одного файла не распределяются по регионам

В каком тарифе

Платформенный

Возможность входит в этот тариф и во все тарифы выше него.

Сравнить тарифы

Частые вопросы

Что будет со ссылками в продуктах, если файл перенесут в другой кластер?

Ничего. Продукты хранят file_id, а не адрес. Место хранения описывается отдельными полями объекта и меняется без изменения идентификатора, поэтому все привязки и ссылки продолжают работать.

Почему ссылка на скачивание живёт так недолго?

Срок ссылки равен окну, в течение которого отзыв прав ещё не действует. Ссылка, попавшая в чужие руки, быстро становится бесполезной. Когда срок истекает, интерфейс запрашивает новую ссылку без участия пользователя.

Можно ли сослаться на конкретную версию файла?

Да. Вместе с file_id можно хранить version_id, если сущности нужна именно эта версия, например подписанная. Без него выдаётся актуальная версия.

Сценарии с этой возможностью

Смежные возможности

Ко всем возможностям