Программа
Программа позволяет управлять публикацией и хранением сегментов в динамическом потоке. Программы могут работать параллельно. Это позволяет публиковать и архивировать разные части события по необходимости.
Можно указать количество часов, в течение которого записанный контент должен сохраняться для программы, установив свойство 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 Нет контента.
Примечание
Операция завершается синхронно, следовательно идентификатор операции для отслеживания отсутствует.