Программа

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

Можно указать количество часов, в течение которого записанный контент должен сохраняться для программы, установив свойство ArchiveWindowLength (до 25 часов). Клиенты могут выполнять поиск в архивированном контенте по указанному количеству часов. Если программа выполняется дольше, чем указано в параметре ArchiveWindowLength, более старый контент удаляется. Дополнительные сведения см. в документации ArchiveWindowLength ниже.

В данном разделе приводится описание сущности Program и демонстрируется выполнение различных операций с API REST служб мультимедиа.

Важно!

При доступе к сущностям в службах мультимедиа необходимо задать определенные поля и значения заголовков в HTTP-запросах.
Дополнительные сведения см. в разделе Настройка разработки REST API Служб мультимедиа и подключение к службам мультимедиа с помощью REST API Служб мультимедиа.

Свойства сущности Program

Сущность Program включает в себя следующие свойства.

Свойство Тип Описание
Id

Только для чтения. Задается Media Services.
Edm.String Идентификатор программы, назначенный во время создания. Формат: nb:pgid:UUID:<GUID>.
Name Edm.String Имя программы. Максимальная длина — 256 символов, имя может состоять из любых английских символов и цифр, включая "-" и " ", оно должно начинаться и заканчиваться на буквенно-цифровые символы.
AssetId Edm.String Идентификатор актива, использующийся для обработки программы. Свойство может быть обновлено только когда программа находится в состоянии Остановлена.

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

Только для чтения. Задается Media Services.
Edm.DateTime Значение даты/времени UTC указывает время создания.
Description Edm.String Предоставленное пользователем описание. Максимальная длина составляет 256 символов.
ArchiveWindowLength

Обязательный.
Edm.Time Количество часов, в течение которого следует сохранять записанный контент для программы. Это значение может быть задано в диапазоне от 5 минут до 25 часов. Оно также указывает максимальное время, на которое клиенты могут вернуться назад от текущей активной позиции. Программы могут длиться в течение определенного времени, однако содержимое, выходящее за пределы окна указанной длины, теряется. Значение этого свойства также определяет максимальный размер манифестов клиентов.

Чтобы удалить заархивированный контент, остановите и удалите программу, а затем удалите актив, связанный с программой. 
LastModified

Только для чтения. Задается Media Services.
Edm.DateTime Дата и время последнего изменения.
ManifestName Edm.String Имя файла манифеста без расширения. Свойство может быть обновлено только когда программа находится в состоянии Остановлена.
State

Только для чтения. Задается Media Services.
Edm.String Получает текущее состояние. Возможные значения:

— Stopped. После создания программа находится в состоянии Остановлена. В этом состоянии свойства программы можно обновить, но потоковая передача не разрешена. В этом состоянии программу можно запустить, обновить или удалить.
— Starting. Выполняется запуск программы. В этом состоянии обновление и потоковая передача запрещены.
— Running. Программа может обрабатывать и архивировать потоковые трансляции.
— Stopping. Выполняется остановка программы. В этом состоянии обновление и потоковая передача запрещены.
ChannelId

Только для чтения. Задается Media Services.
Edm.String Идентификатор родительского канала программы.
Channel Канал Родительский канал программы указывается в значении ChannelId.

Создание программ

Создание новой программы.

Метод Универсальный код ресурса (URI) запроса Версия HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Programs> HTTP/1.1

Пример запроса

Вы можете опробовать следующий пример на вкладке Fiddler's Composer.

Сведения о том, как получить последнюю версию x-ms-version:, см. в разделе REST Служб мультимедиа.

Заголовки запроса:

POST https://testrest.cloudapp.net/api/Programs HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

Тело запроса:

{"Id":null,"Name":"testprogram001","Description":"","Created":"0001-01-01T00:00:00","LastModified":"0001-01-01T00:00:00","ChannelId":"nb:chid:UUID:83bb19de-7abf-4907-9578-abe90adfbabe","AssetId":"nb:cid:UUID:bc495364-5357-42a1-9a9d-be54689cfae2","ArchiveWindowLength":"PT1H","State":null,"ManifestName":null}  

При успешном выполнении возвращается код состояния 202 Принято вместе с представлением созданной сущности в тексте ответа.

{"odata.metadata":"https://testrest.cloudapp.net/api/$metadata#Programs/@Element","Id":"nb:pgid:UUID:b870dd57-4b04-41b6-849d-b2470e50e7e6","Name":"testprogram001","Description":"","Created":"2014-08-11T18:12:27.8381256Z","LastModified":"2014-08-11T18:12:27.8381256Z","ChannelId":"nb:chid:UUID:83bb19de-7abf-4907-9578-abe90adfbabe","AssetId":"nb:cid:UUID:bc495364-5357-42a1-9a9d-be54689cfae2","ArchiveWindowLength":"PT1H","State":"Stopped","ManifestName":"f91329ec-26f5-4026-87f5-f5437d4da9e6"}  
  

Примечание

Операция завершается синхронно, следовательно идентификатор операции для отслеживания отсутствует.

Запуск программ

Запуск программы. Программу можно запустить только когда она находится в состоянии Остановлена, а канал — в состоянии Запущен.

Метод Универсальный код ресурса (URI) запроса Версия HTTP
Начать <https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId')/Start HTTP/1.1

Пример запроса

Вы можете опробовать следующий пример на вкладке Fiddler's Composer.

Чтобы получить последнюю версию x-ms-version:, см. раздел REST Служб мультимедиа.

Заголовки запроса:

POST https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc')/Start HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

При успешном выполнении возвращается код состояния 202 Принято. Код состояния 202 Принято указывает на асинхронную операцию, и в этом случает также предоставляется значение заголовка идентификатора операции для опроса и отслеживания состояния долговременных операций, например, для запуска или остановки программы. Для получения состояния передайте значение заголовка идентификатора операции в сущность операции. Дополнительные сведения см. в разделе Опрос операций Long-Running вручную.

Остановка программ

Остановка программы. Программу можно остановить только когда она находится в состоянии Запущена. Это асинхронная операция.

Метод Универсальный код ресурса (URI) запроса Версия HTTP
Stop <https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId')/Stop HTTP/1.1

Пример запроса

Вы можете опробовать следующий пример на вкладке Fiddler's Composer.

Чтобы получить последнюю версию x-ms-version:, см. раздел REST Служб мультимедиа.

Заголовки запроса:

POST https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc')/Stop HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

При успешном выполнении возвращается код состояния 202 Принято. Код состояния 202 Принято указывает на асинхронную операцию, и в этом случает также предоставляется значение заголовка идентификатора операции для опроса и отслеживания состояния долговременных операций, например, для запуска или остановки программы. Для получения состояния передайте значение заголовка идентификатора операции в сущность операции. Дополнительные сведения см. в разделе Опрос операций Long-Running вручную.

Список программ

Программы можно получить с помощью HTTP-запроса GET.

Метод Универсальный код ресурса (URI) запроса Версия HTTP
GET Получение всех программ в учетной записи служб мультимедиа:

<https:// accountname.restv2>.<location.media.azure.net/api/Programs>

Получение указанной программы в учетной записи служб мультимедиа:

<https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId')

Получение всех программ, связанных с указанным каналом:

<https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/Programs
HTTP/1.1

Пример запроса

Вы можете опробовать следующий пример на вкладке Fiddler's Composer.

Чтобы получить последнюю версию x-ms-version:, см. раздел REST Служб мультимедиа.

Заголовки запроса:

GET https://testrest.cloudapp.net/api/Programs HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

В случае успешного выполнения эта операция возвращает код состояния 200 OK и список всех программ, созданных в вашей учетной записи Служб мультимедиа.

Обновление программ

Обновление программы. Программа должна быть в состоянии Остановлена.

Метод Универсальный код ресурса (URI) запроса Версия HTTP
PATCH/PUT/MERGE

Дополнительные сведения об этих операциях см. здесь.
<https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId') HTTP/1.1

Пример запроса

Вы можете опробовать следующий пример на вкладке Fiddler's Composer.

Чтобы получить последнюю версию x-ms-version:, см. раздел REST Служб мультимедиа.

Заголовки запроса:

PATCH https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc') HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

Тело запроса:

{"ArchiveWindowLength":"PT3H"}  

Если обновление завершается синхронно, оно возвращает код состояния 204 Нет содержимого. В противном случае оно возвращает код состояния 202 Принято. Код состояния 202 Принято указывает на асинхронную операцию, и в этом случает также предоставляется значение заголовка идентификатора операции для опроса и отслеживания состояния долговременных операций, например, для запуска или остановки программы. Для получения состояния передайте значение заголовка идентификатора операции в сущность операции. Дополнительные сведения см. в разделе Опрос операций Long-Running вручную.

Удаление программ

Удаление программы. Программа может быть удалена только когда она находится в состоянии Остановлена.

Метод Универсальный код ресурса (URI) запроса Версия HTTP
DELETE <https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId') HTTP/1.1

Пример запроса

Вы можете опробовать следующий пример на вкладке Fiddler's Composer.

Чтобы получить последнюю версию x-ms-version:, см. раздел REST Служб мультимедиа.

Заголовки запроса:

DELETE https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc') HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

При успешном выполнении возвращается код состояния 204 Нет контента.

Примечание

Операция завершается синхронно, следовательно идентификатор операции для отслеживания отсутствует.

См. также:

Канал