Очистка активов и BLOB-объектов после задания кодирования носителя
Я использую следующий рабочий процесс, который оставляет несколько копий исходных ресурсов и больших двоичных объектов, которые необходимо очистить. Я хочу убедиться, что у меня есть только необходимые ресурсы для воспроизведения кодированных видео. Также мне интересно, есть ли более эффективный способ создания закодированных ресурсов. Похоже, что единственное улучшение, которое можно было бы сделать, - это загрузка большого двоичного объекта непосредственно в контейнер медиа-службы вместо необходимости копировать большой двоичный объект.
Я использую следующий рабочий процесс:
- С моего веб-сайта видеофайл загружается в контейнер, не относящийся к медиа-сервису.
- После загрузки файла создается очередь сообщений для большого двоичного объекта.
- Веб-задание Azure получает очередь сообщений
- Загруженный BLOB-объект копируется в контейнер медиа-сервиса
- Создать ресурс медиа-службы из скопированного большого двоичного объекта
- Запустите задание медиакодера из нового ресурса для H264 Adaptive Bitrate MP4 Set 720p
- После завершения задания удалите исходный BLOB-объект, первый ресурс и сообщение очереди.
1 ответ
Как вы уже упомянули, одним из шагов оптимизации является исключение загрузки файла мультимедиа в хранилище, не связанное с носителем. Кроме того, поскольку вы уже используете лазурные очереди, вы можете использовать их, чтобы получать уведомления о завершении работы. С предложенными изменениями ваш рабочий процесс будет.
- в пользовательском интерфейсе вы вызываете создание ресурса перед началом загрузки.
- Пользователь напрямую загружает в хранилище, связанное с медиа-аккаунтом. см. /questions/9865742/kak-pravilno-zagruzhat-videofajlyi-v-sluzhbyi-multimedia-azure-iz-angularjs/9865754#9865754
- По завершении загрузки инициируйте создание заданий мультимедиа с привязанными к нему лазурными очередями. См. https://docs.microsoft.com/en-us/azure/media-services/media-services-dotnet-check-job-progress-with-queues
- Прослушайте, когда лазурная очередь получит сообщение о завершении задания, и выполните удаление исходного ресурса после получения сообщения. Вы можете использовать лазурные функции для этого. https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage