Storage Connect позволяет корпоративным клиентам Frame.io использовать собственную конечную точку облачного хранилища в качестве резервного хранилища Frame.io. Сегодня, когда пользователь загружает ресурс на Frame.io, этот ресурс проходит через стек приложений и сохраняется в контейнере Amazon S3 на Frame.io. Аналогичным образом воспроизведение и доставка ресурса обслуживаются из контейнера Amazon S3, управляемого Frame.io.
Используйте собственный AWS S3 в качестве источника достоверной информации, при этом Frame.io останется единой площадкой для просмотра, поиска, обмена и обзора. Теперь вы можете подключиться:
Один основной контейнер S3 (чтение/запись) — куда попадают новые загрузки из Frame.io.
Любое количество дополнительных контейнеров S3 (только‑чтение) — сделайте существующие медиафайлы в S3 видимыми и воспроизводимыми в Frame.io без копирования или дублирования оригиналов.
Frame.io генерирует легкие прокси (значки, предварительные просмотры, воспроизведение), в то время как оригиналы остаются в вашем S3. Чтобы зарегистрировать файлы, которые уже находятся в подключенных контейнерах, используйте конечную точку V4 Public API: Импортировать файл.
Примечание. Данное предложение доступно как новым, так и существующим клиентам Frame.io, использующим Storage Connect. Для поддержки существующих клиентов Frame.io предлагает единовременный перенос данных существующих клиентов, которые с самого начала хранятся в управляемом Frame.io контейнере Amazon S3, в управляемую клиентом корзину Amazon S3 для обеспечения общей доступности.
Приведенная ниже информация предназначена для предоставления новым и существующим клиентам Frame.io пошагового руководства по настройке контейнера S3 для совместимости с Storage Connect.
Требования
Учетная запись Frame.io для корпоративных клиентов с функцией Storage Connect, включенной для вашей организации.
Доступ для создания/обновления ролей/политик AWS IAM и разрешений контейнера S3.
Доступ к Frame.io V4 Public API (для конечной точки Испортировать файл, используемой для регистрации существующих объектов из контейнеров, доступных только для чтения‑).
Примечание. Для точной настройки доверия IAM и сопоставления учетных записей ваш контакт в Frame.io (CSM/специалист по внедрению) предоставит текущую настройку OIDC/роли и проверит разрешения во время подключения.
Ключевые концепции
Основной (чтение/запись) контейнер. Контейнер S3, который получает оригиналы, когда пользователи загружают их во Frame. Для кадра здесь требуются разрешения на чтение и запись.
Только ‑контейнеры для чтения: один или несколько контейнеров S3, которые Frame может читать, но не может записывать. Активы становятся видимыми в Frame с помощью вызова API Импортировать файл (без копирования оригиналов).
Прокси. Frame генерирует производные (значки, предварительные просмотры и потоковые прокси), поэтому ресурсы можно воспроизводить в Frame, даже если оригиналы остаются в S3.
Часть A — Настройка основного хранилища S3 для чтения/записи
Выберите или создайте контейнер S3, который вы будете использовать в качестве основного хранилища.
Создайте роль IAM для Frame.io (которой доверяет поставщик удостоверений Frame.io) и прикрепите политику IAM, которая предоставляет чтение/запись для контейнера/префикса.
Пример скелета политики (замените ARN и ограничьтесь необходимыми префиксами, где это возможно):
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListPrimaryBucket",
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": "arn:aws:s3:::YOUR_PRIMARY_BUCKET"
},
{
"Sid": "RWPrimaryObjects",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject",
"s3:AbortMultipartUpload",
"s3:ListMultipartUploadParts"
],
"Resource": "arn:aws:s3:::YOUR_PRIMARY_BUCKET/*"
}
]
}Предоставьте сведения Frame.io: ARN роли IAM, имя контейнера и любые предпочтительные префиксы объектов. Frame.io завершит сопоставление, поэтому загрузки от ваших пользователей в Frame будут направлены на этот контейнер.
Проверьте, выполнив тестовую загрузку в Frame, чтобы убедиться, что оригиналы помещаются в ваш S3, а прокси появляются в Frame.
Часть B — Добавление одного или нескольких контейнеров S3, доступных только для чтения‑
Вы можете связать дополнительные контейнеры S3 как источники ‑только для чтения. Frame будет считывать объекты для генерации и воспроизведения прокси, но не будет записывать новые объекты в эти контейнеры.
Выберите дополнительные контейнеры S3 (и необязательные префиксы папок) для отображения в Frame.
Создайте (или обновите) роль IAM, используемую Frame для предоставлениядоступа ‑только для чтения к каждому контейнеру/префиксу.
Пример скелета политики для каждого сегмента (откорректируйте ARN/префиксы и добавьте для каждого контейнера):
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListReadOnlyBucket",
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": "arn:aws:s3:::YOUR_RO_BUCKET"
},
{
"Sid": "ReadObjects",
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:GetObjectVersion"],
"Resource": "arn:aws:s3:::YOUR_RO_BUCKET/*"
}
]
} Предоставьте сведения для Frame.io: тот же ARN роли (или отдельные ARN для каждого контейнера), каждое имя контейнера и необязательный префикс, который должен быть доступен только для чтения‑.
Продолжайте регистрировать существующие файлы из этих контейнеров, доступных только для чтения‑, с помощьюИмпортировать файл API (ниже).
Часть C — Регистрация существующих объектов S3 в Frame (API импорта)
Когда вы добавляете контейнер ‑только для чтения, ваши медиаданные уже находятся в S3. Используйте конечную точкуИмпортировать файл для регистрации этих объектов S3 в ваших проектах/папках Frame без копирования оригиналов.
Какую функцию выполняет параметр "Импорт"
Создает ресурс "Файл" в Frame, который указывает на ваш объект S3.
Запускает Frame для создания прокси для просмотра/воспроизведения.
Оставляет исходный файл на месте в вашем S3.
Прежде чем вызывать API
Убедитесь, что сопоставления Storage Connect выполнены (у Frame.io есть ARN вашей роли, контейнеры и префиксы).
Есть токен OAuth с требуемыми областями действия файла.
Определите целевой контейнер в Frame (корневой каталог проекта или идентификатор папки-ресурса), где должен появиться импортированный файл.
Определите контейнер S3 и ключ объекта для импорта.
Пример (псевдокод cURL)
Для точного пути и полей используйте официальную ссылку на API. Приведенная ниже структура иллюстрирует это намерение.
# ПСЕВДОКОД — точный URL-адрес и схему см. в документации по конечной точке «Импортировать файл»
curl -X POST "https://api.frame.io/v4/files.import_file" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"container_id": "<FRAME_FOLDER_OR_PROJECT_ASSET_ID>",
"external": {
"provider": "s3",
"bucket": "my-readonly-bucket",
"key": "Marketing/2025/hero.mov"
},
"display_name": "hero.mov"
}'
Проверить в Frame
Откройте целевой проект/папку — импортированные файлы отображаются так же, как и любые другие ресурсы.
Воспроизведение должно быть доступно немедленно после завершения генерациипрокси.
Проверьте сведения о ресурсе, чтобы убедиться, что местом хранения является ваш S3.
Поведение и заметки
Загрузки в любом из клиентов Frame (веб-iOS, приложение для передачи данных и т. д.) отправляются в основной контейнер для чтения/записи.
Импортированные ресурсы из контейнеров, доступных только для чтения‑, остаются на месте;удаление актива в Frame не удаляет оригинал в контейнере, доступном ‑только для чтения. (Соблюдайте политику удаления вашей организации для контейнера чтения/записи.)
Жизненный цикл/архивирование. Если объекты перемещаются в Glacier или временно недоступны, ранее созданные прокси могут продолжать разрешать просмотр; исходное извлечение будет зависеть от уровня S3 и доступности.
Поиск и устранение неисправностей
403/AccessDenied при импорте/воспроизведении → убедитесь, что политика IAM включает s3:GetObject для объекта ARN.
Объекты не обнаружены → подтвердите, что сопоставление контейнера/префикса соответствует ключам объекта, которые вы импортируете.
Прокси не генерируются → убедитесь, что тип файла поддерживается и IAM разрешает чтение; проверьте наличие временных ошибок S3.
Ограничение скорости при массовом импорте → добавление повторных попыток с экспоненциальной задержкой; ограничение параллелизма.
Часто задаваемые вопросы
В. Сколько контейнеров ‑«только для чтения» я могу добавить?
О. Любое число. Сопоставьте каждый контейнер (и необязательные префиксы) с разрешениями только для чтения‑.
В: Нужно ли мне перемещать или копировать мою существующую библиотеку во Frame?
О. Нет. Используйте API Импортировать файл для регистрации на месте.
В: Могу ли я позже убрать контейнер?
О. Да. Удаление контейнера, доступного ‑только для чтения, отменяет публикацию этих ресурсов из Frame (ваши оригиналы остаются в S3).
В. Записывает ли Frame когда-либо мои контейнеры, доступные ‑только для чтения?
О. Нет. Frame считывает объекты для генерации прокси и потоковой передачи оригиналов при необходимости; запись происходит только в основной контейнер чтения/записи.
Ссылки по теме
Обзор Storage Connect (Справочный центр)
Объявление о Storage Connect (блог Frame.io Insider)
В этом руководстве отражены новейшие возможности Storage Connect: один основной контейнер для чтения/записи и несколько контейнеров только для чтения‑ с регистрацией через API импорта файлов, чтобы вы могли работать в Frame без дублирования оригиналов.
Важное ограничение. SSE‑KMS-шифрованные контейнеры/объекты не поддерживаются Storage Connect в настоящее время.
