Ограничение исходящей передачи данных видео в заданный промежуток времени

Я начал публиковать видео с помощью Azure Media Services.

Стоимость эксперимента приемлемая. Для начала я добавил одно 30-секундное видео. Если его никто не смотрит, это будет стоить меньше копейки в месяц. Если он получает 1300 просмотров в месяц, это будет стоить всего 1 доллар в месяц.

Меня беспокоит злонамеренный пользователь, который может набирать просмотры. Это может стоить целое состояние на плате за передачу исходящих данных.

Итак, мне нужно ограничить просмотры. Я хотел бы ограничить передачу данных как для видео, так и для временного кадра. Например, я хотел бы ограничить каждое видео до 10 просмотров в час.

Боюсь, простой лимит расходов не сработает, потому что в моей учетной записи Azure размещены другие службы. Для них может потребоваться масштабирование за пределы исходящего ограничения для видео.


person Shaun Luttin    schedule 06.04.2015    source источник


Ответы (1)


Вы можете попробовать заархивировать свой сценарий с помощью функции защиты содержимого служб мультимедиа Azure. Перед воспроизведением видео пользователь получит токен JWT, и видео будет настроено на использование аутентификации по токену. Только авторизованный пользователь или пользователь, получивший токен, решив несложную задачу (капчу или промо-код), сможет посмотреть ваше видео.

Цена — 0,10 доллара США за 100 доставленных ключей. 1300 пользователей в месяц обойдутся вам в 1,30 доллара. С токеном JWT вы можете настроить срок действия токена и иметь в своем приложении дополнительную логику в отношении того, кто сможет получить новый токен JWT.

Примеры кода для настройки проверки подлинности с помощью токена можно найти по адресу https://github.com/Azure/azure-media-services-samples/tree/master/KDWithADMVC или вы также можете просмотреть тесты, связанные с использованием JWT, в репозиторий Azure Media Services .NET SDK (см. тест GetHlsKeyDeliveryUrlAndFetchKeyWithJWTA)

person George Trifonov    schedule 15.04.2015