Часть 2. Отправка видео в хранилище Azure

Продолжим с того места, на котором остановились в Части 1. Теперь у нас есть класс MediaServices, который может взаимодействовать со службами мультимедиа Azure и устанавливать маркер проверки подлинности. Теперь давайте загрузим видео в Azure.

Как файлы загружаются в Azure

Прежде чем мы сможем загрузить видеофайл в Azure, нам нужно определить актив, политику доступа и локатор файлов.

Активы — это наборы видео, аудио, изображений или текстовых файлов с соответствующими метаданными. Файлы, прикрепленные к экземпляру актива, можно кодировать или передавать в потоковом режиме с помощью AMS.

Политики доступа определяют разрешения и временные рамки доступа для Актива. Политика доступа с разрешениями на загрузку должна быть определена до того, как файл можно будет загрузить в актив.

Локаторы обеспечивают точку входа для доступа к файлам в Активе. Локаторы можно настроить с помощью Shared Access Signatures для дополнительных разрешений, таких как возможность загрузки файла на адрес локатора. Для создания локаторов требуется соответствующая политика активов и доступа.

Создание актива

Начнем с создания метода для создания актива:

Этот метод принимает имя актива и имя учетной записи хранения и создает экземпляр актива в службах мультимедиа Azure. Обратите внимание, что метод возвращает экземпляр класса Asset. Это можно определить с помощью следующего кода:

Создание политики доступа

Далее давайте создадим метод, который генерирует политику доступа в AMS. Вставьте следующий метод в свой класс MediaServices:

Создание локатора

Наконец, давайте создадим экземпляр Locator, который будет использоваться при загрузке файла. Вставьте следующий код в свой класс MediaServices:

Этот метод возвращает экземпляр класса Locator, который можно определить с помощью следующего кода:

Наконец, давайте свяжем все вместе, вызвав эти методы из основного файла Program.cs:

Загрузка видео в службы мультимедиа Azure

Теперь, когда у нас есть экземпляр локатора для ресурса с политикой доступа с поддержкой загрузки, мы можем загрузить файл в Azure. Начнем с создания метода, который принимает файловый поток, экземпляр Asset и экземпляр Locator:

После загрузки файла в локатор мы должны сгенерировать запрос информации о файле, прежде чем файл будет зарегистрирован в активе. Следующий код генерирует запрос информации о файле:

Наконец, давайте свяжем все вместе в файле Program.cs. Этот код демонстрирует пример загрузки:

Теперь у вас должен быть видеофайл, загруженный и зарегистрированный в активе.

Ваш код теперь должен выглядеть так.

Если у вас возникли проблемы с определением состояния вашей учетной записи Azure Media Services, вы можете установить Azure Media Services Explorer. Этот инструмент предоставляет удобный графический интерфейс для навигации по экземпляру Azure Media Services.

На следующем шаге мы закодируем наш только что загруженный видеофайл.