move

1. Сводка
Перемещает файл с одного URL хранилища на другой. Используйте его, чтобы расставить готовые выходы в раскладку, которую ждёт ваша цель доставки, или чтобы смести сырые входы в архив, как только обработка закончилась.
2. Когда использовать
- Продвижение готовой поставки из стейджингового бакета в публикационный бакет, из которого читает ваша CMS или CDN.
- Сметание обработанного входа из живой области приёма в долгосрочный архив, как только процесс выдал свои выходы.
- Переименование файла на месте перемещением на URL, отличающийся только последним компонентом пути.
- Реорганизация выходов HLS или DASH в раскладку каталогов, ожидаемую упаковщиком или публикатором ниже по потоку.
3. Входы
Package—core.Package. Пакет, чей файл-носитель нужно переместить. Подключайте выход-пакет производителя, чьё хранилище хотите переместить.Совместимые узлы выше по потоку:
- download — читает файл по URL.
- mp4 — оборачивает дорожки в файл MP4.
- mov — оборачивает дорожки в файл MOV (QuickTime).
- mxf — оборачивает дорожки в файл MXF.
- ts — оборачивает дорожки в файл MPEG-TS.
- dash — упаковывает дорожки в манифест MPEG-DASH.
- hls3 — упаковывает дорожки в плейлист HLS v3.
- hls5 — упаковывает дорожки в плейлист HLS v5.
4. Выходы
Package—core.Package. Пакет, теперь указывающий на новое расположение, готовый для загрузки (когда назначение — удалённый URL) или для инспекции analyze перемещённого файла.Совместимые узлы ниже по потоку:
5. Параметры

Диалог «Настройки» — один столбец с тремя полями.
Node Label (
string, по умолчанию пусто)Произвольное имя, отображаемое на плитке узла на холсте.
- Что задаёт. Подпись над плиткой; на исходный или целевой URL не влияет.
- Когда менять. Задавайте, когда в одном графе несколько узлов move — обычно когда отдельные ветви перемещают каждая свою поставку, — чтобы каждый был узнаваем с одного взгляда.
Input URL (
string, обязателен, переменные допускаются)URL хранилища файла для перемещения.
- Что задаёт. Исходное расположение, откуда читает
move. Допустимые протоколы повторяют остальной слой хранилища платформы (http,https,ftp,s3,smb). - Когда менять. Почти всегда. Боевые процессы оставляют поле привязанным к
переменной процесса — каждый опубликованный пример использует
$Inили канонический$inputURL, — чтобы каждая задача подставляла свой источник без правки графа. - Переменные. Поддерживаются. Привяжите к переменной процесса типа
urlи подставляйте значение при создании задачи.
- Что задаёт. Исходное расположение, откуда читает
Output URL (
string, обязателен, переменные допускаются)URL хранилища, куда перемещается файл.
- Что задаёт. Целевое расположение. Межбакетные и межпротокольные перемещения поддерживаются, пока у воркера есть учётные данные для обеих точек; переименования в том же бакете атомарны на объектном хранилище, которое это поддерживает.
- Когда менять. Почти всегда. Боевые процессы привязывают поле к
переменной процесса —
$outputURLканоническое имя, — чтобы каждая задача подставляла своё назначение. Прописывайте URL жёстко только для публикации с фиксированной раскладкой, где каждая задача ложится по одному пути. - Переменные. Поддерживаются. Привяжите к переменной процесса типа
urlи подставляйте значение при создании задачи.
6. Пример

Полный разбор — переменные, настройка каждого узла и ожидаемый результат — смотрите в Adaptive streaming with HLS, DASH and captions.
7. Где используется
- Adaptive streaming with HLS, DASH and captions — перемещает сайдкар субтитров в выходной каталог HLS перед загрузкой плейлистов.
8. Антипаттерны
- Перемещение ещё записываемого файла.
moveне ждёт, пока производитель выше по потоку финализирует файл; если в процессе есть параллельные ветви, делящие цель, ставьте перемещение ниже по потоку от ветви, пишущей файл, а не рядом с ней. - Межбакетные перемещения, превышающие права воркера. Когда исходный и целевой URL принадлежат разным бакетам, протоколам или областям учётных данных, перемещение молча откатывается к «копировать-и-удалить», которое может успешно прочитать и провалить удаление (или наоборот). Убедитесь, что учётные данные воркера покрывают обе точки, прежде чем планировать в масштабе.
- Использование move там, где copy + delete безопаснее для идемпотентности.
Повтор той же задачи переигрывает
move, который падает, если источник больше не существует. Для процессов, которые предполагается повторять, предпочтите явную цепочку download → upload (копию) с последующим delete только после того, как каждый потребитель закончил. - Переименование через move, чтобы «починить» неверное назначение.
moveне транзакционен с загрузками или уведомлениями ниже по потоку — если CDN уже закэшировал предыдущий URL, переименование оставляет кэш устаревшим. Сделайте свежую загрузку на новый URL и инвалидируйте старый, а не полагайтесь на пост-публикационное перемещение.
9. Заметки
- Диалог настроек читается как Move Node Settings.
- Узел рисует один подключаемый вход Package слева и один выход Package справа. Оранжевый пин внизу слева несёт канал URL и не используется в стандартных графах перекодирования.
- Атомарность зависит от бэкенда хранилища. Объектные хранилища вроде S3 обычно реализуют перемещение как «копировать-и-удалить» под капотом; SMB и POSIX-файловые системы поддерживают атомарное переименование в пределах тома.