Ресурс
Сущность Asset
содержит цифровые файлы (в том числе видео, аудио, изображения, коллекции эскизов, текстовые дорожки и файлы титров), а также метаданные об этих файлах. После загрузки цифровых файлов в ресурс их можно использовать в рабочих процессах кодирования и потоковой передачи служб мультимедиа.
После выполнения задания кодирования актива создается выходной актив. Среди упомянутых выше файлов выходной ресурс содержит XML-файлы метаданных, описывающие входной и выходной ресурс. Дополнительные сведения см. в статьях о входных и выходных метаданных.
К ресурсу в Службах мультимедиа применяются следующие характеристики:
Ресурс — это логическая единица, которая представляет одну аудиовизуальную презентацию.
Ресурс содержит коллекцию из одного или нескольких файлов мультимедиа.
Файлы ресурса расположены в одном контейнере хранилища BLOB-объектов.
Некоторые примеры актива: полный фильм, тв-шоу, конкретная правка; клип из фильма, телепередачи, анимации, ISO-файла камеры или события; трейлер фильма или рекламное видео; объявление; звуковой файл, радио-шоу, подкаст или звуковой файл.
Следующие характеристики НЕ применяются к ресурсу в Службах мультимедиа:
Простой контейнер хранилища
Папка для организации и хранения нескольких версий одной презентации
Папка для отправки нескольких аудиовизуальных презентаций для пакетной обработки в Azure Media Encoder
Например, не следует хранить фильм, трейлер к нему, рекламу и версию на другом языке в одном активе.
В данном разделе приводится описание сущности Asset
и демонстрируется выполнение различных операций с API REST служб мультимедиа.
Важно!
При доступе к сущностям в службах мультимедиа необходимо задать определенные поля и значения заголовков в HTTP-запросах.
Дополнительные сведения см. в статье Настройка rest API Служб мультимедиа Разработка и подключение к Службам мультимедиа с помощью REST API Служб мультимедиа.
Свойства объекта Asset
Свойство | Тип | Описание |
---|---|---|
Id Только для чтения. Устанавливается Службами мультимедиа во время создания. |
Строка | Уникальный идентификатор. |
State Только для чтения. Задается Media Services. |
Edm.Int32 | Значение перечисления, которое описывает состояние ресурса. Допустимые значения: — инициализировано = 0 — Опубликовано = 1 Предупреждение: Publish действие устарело. Удалите код, который проверяет, находится ли ресурс в состоянии Published .— Удалено = 2 Ресурс всегда находится в инициализированном состоянии, пока не будет удален. |
Created Только для чтения. Устанавливается Службами мультимедиа во время создания. |
Edm.DateTime | Это значение задается Службами мультимедиа во время создания. |
LastModified Только для чтения. Задается Media Services. |
Edm.DateTime | Это значение обновляется Службами мультимедиа после внесения любых изменений свойств. |
AlternateId Необязательный элемент. |
Edm.String | Альтернативное значение идентификатора, которое соответствует идентификатору в другой системе управления контентом. Максимальная длина — 4000. |
Name Необязательный элемент. |
Edm.String | Понятное имя ресурса. Максимальная длина — 512. |
Options Обязательный. Нельзя обновить после создания сущности. |
Edm.Int32 | Значение перечисления, описывающее параметры шифрования, с помощью которых можно создать ресурс. Допустимым значением может быть значение из списка ниже, а не их комбинация: - None = 0: не указывает параметры создания ресурсов. - StorageEncrypted = 1. Указывает, что файлы ресурса должны быть зашифрованы для отправки и хранения при создании ресурса. - CommonEncryptionProtected = 2. Указывает, что файлы ресурса защищены с помощью общего метода шифрования (например, PlayReady). - EnvelopeEncryptionProtected = 4 |
Uri Только для чтения. Задается Media Services. |
Edm.String | Универсальный код ресурса (URI) контейнера хранилища BLOB-объектов указанного ресурса. |
Locators Только для чтения. Задается Media Services. |
Набор объектов Locator | Возвращенный набор объектов содержит все объекты Locator, связанные с указанным ресурсом. |
ContentKeys Необязательный элемент. |
Набор объектов ContentKey | Возвращенный набор объектов содержит все объекты ContentKey, связанные с указанным ресурсом. |
Files Только для чтения. Задается Media Services. |
Набор объектов File | Возвращенный набор объектов содержит все объекты File, связанные с указанным ресурсом. |
ParentAssets Необязательный элемент. |
Набор объектов родительских ресурсов | Возвращенный набор объектов содержит все родительские объекты Asset, связанные с указанным ресурсом. |
StorageAccountName Необязательный элемент. Нельзя обновить после создания сущности. |
Edm.String | Имя учетной записи хранения, которая содержит контейнер BLOB-объекта ресурса. Если во время создания не указано, Службы мультимедиа задают имя учетной записи хранения по умолчанию. |
StorageAccount Только для чтения. Задается Media Services. |
Набор сущностей StorageAccount | Возвращенный набор объектов содержит все объекты StorageAccount, связанные с указанным ресурсом. |
DeliveryPolicies |
Набор сущностей AssetDeliveryPolicy | Возвращаемый набор сущностей содержит политики доставки, связанные с активом. |
FormatOption |
Edm.Int32 | Указывает различные параметры формата, с которыми можно создать ресурс. Допустимые значения: 0 (по умолчанию) — не указывает параметр формата ресурса; 1 — указывает, что для ресурса будет использоваться формат AdaptiveStreaming. |
Создание ресурса
Ресурсы можно создать с помощью HTTP-запроса POST, указав значения свойств.
Метод | Универсальный код ресурса (URI) запроса | Версия HTTP |
---|---|---|
POST | <https:// accountname.restv2>.<location.media.azure.net/api/Assets> | HTTP/1.1 |
Пример запроса
Чтобы получить последнюю версию x-ms-version:
, см. раздел REST Служб мультимедиа.
POST https://<accountname>.restv2.<location>.media.azure.net/api/Assets HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.19
Authorization: Bearer <token value>
Host: media.windows.net
Content-Length: 27
Expect: 100-continue
{ "Name" : "NewJSONAsset" }
Перечисление ресурсов
Ресурсы можно получить с помощью HTTP-запроса GET.
Метод | Универсальный код ресурса (URI) запроса | Версия HTTP |
---|---|---|
GET | <https:// accountname.restv2>.<location.media.azure.net/api/Assets> | HTTP/1.1 |
Метод | Универсальный код ресурса (URI) запроса | Версия HTTP |
---|---|---|
GET | <https:// accountname.restv2>.<location.media.azure.net/api/Assets>('assetid') | HTTP/1.1 |
Пример запроса
Чтобы получить последнюю версию x-ms-version:
, см. раздел REST Служб мультимедиа.
GET https://<accountname>.restv2.<location>.media.azure.net/api/Assets('nb:cid:UUID:fccb8cd9-7afa-4365-a36e-d5d68409bb64') HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.19
Authorization: Bearer <token value>
Host: media.windows.net
Content-Length: 0
Обновление ресурса
Ресурсы можно обновить с помощью HTTP-запроса MERGE, указав свойства, которые нужно изменить.
Метод | Универсальный код ресурса (URI) запроса | Версия HTTP |
---|---|---|
MERGE | <https:// accountname.restv2>.<location.media.azure.net/api/Assets>('assetid') | HTTP/1.1 |
Пример запроса
Чтобы получить последнюю версию x-ms-version:
, см. раздел REST Служб мультимедиа.
MERGE https://<accountname>.restv2.<location>.media.azure.net/api/Assets('nb:cid:UUID:80782407-3f87-4e60-a43e-5e4454232f60') HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.19
Authorization: Bearer <token value>
Host: media.windows.net
Content-Length: 21
Expect: 100-continue
{"Name" : "NewName" }
Удаление актива
Ресурсы можно удалить, указав значение их кода ресурса. При удалении ресурса все его указатели удаляются Cлужбы мультимедиа Microsoft Azure. Если у ресурса есть указатели источника, эти указатели также будут отозваны и удалены. Все ссылки на объекты ContentKey будут удалены, а объекты ContentKey, не связанные с другими ресурсами, будут удалены.
Метод | Универсальный код ресурса (URI) запроса | Версия HTTP |
---|---|---|
DELETE | <https:// accountname.restv2>.<location.media.azure.net/api/Assets>('assetid') | HTTP/1.1 |
Пример запроса
Чтобы получить последнюю версию x-ms-version:
, см. раздел REST Служб мультимедиа.
DELETE https://<accountname>.restv2.<location>.media.azure.net/api/Assets('nb:cid:UUID:fccb8cd9-7afa-4365-a36e-d5d68409bb64') HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.19
Authorization: Bearer <token value>
Host: media.windows.net
Content-Length: 0
Публикация ресурса
Примечание
Действие Publish
больше не используется. Начиная с последнего выпуска Служб мультимедиа, Publish
не следует использовать.
Если в коде используется действие Publish
, помните о следующем:
- Действие
Publish
не удаляет локаторы, связанные с ресурсом. После вызоваPublish
необходимо удалить все локаторы в коде. - Действие
Publish
не задает для ресурса состояниеPublished
. Удалите код, который проверяет, находится ли ресурс в состоянииPublished
. В текущий момент ресурс может находиться только в состоянииInitialized
илиDeleted
.
Связь ключей контента с ресурсами
Вы можете связать ContentKey с ресурсом, указав идентификатор ресурса с помощью HTTP-запроса POST. Универсальный код ресурса ContentKey должен быть включен в текст запроса. Привязывание возможно только для типа ContentKey, соответствующего типу, указанному в параметре CreationOptions ресурса. Например, если для ресурса заданы параметры StorageEncrypted(1), ContentKey должен относиться к типу StorageEncryption(1).
Метод | Универсальный код ресурса (URI) запроса | Версия HTTP |
---|---|---|
POST | <https:// accountname.restv2>.<location.media.azure.net/api/Assets>('Asset Id')/$links/ContentKeys | HTTP/1.1 |
Пример запроса
Чтобы получить последнюю версию x-ms-version:
, см. раздел REST Служб мультимедиа.
POST https://<accountname>.restv2.<location>.media.azure.net/api/Assets('nb:cid:UUID:3ac4c50a-09c1-4ea3-b39c-c336d97f5a13')/$links/ContentKeys HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.19
Authorization: Bearer <token value>
Host: media.windows.net
Content-Length: 121
Expect: 100-continue
{ "uri": "https://<accountname>.restv2.<location>.media.azure.net/api/ContentKeys('nb%3Akid%3AUUID%3A5db89211-c9d9-404b-a6bc-3e6b91c7a214')"}
Удаление ссылок на ContentKey
Вы можете удалить ссылки ContentKey из ресурса, указав идентификатор ресурса и идентификатор ContentKey в HTTP-запросе DELETE. Если ContentKey не связан с другими ресурсами, он будет удален.
Метод | Универсальный код ресурса (URI) запроса | Версия HTTP |
---|---|---|
DELETE | <https:// accountname.restv2>.<location.media.azure.net/api/Assets>('Asset Id')/$links/ContentKeys('ContentKey Id') | HTTP/1.1 |
Пример запроса
Чтобы получить последнюю версию x-ms-version:
, см. раздел REST Служб мультимедиа.
DELETE https://<accountname>.restv2.<location>.media.azure.net/api/Assets('nb:cid:UUID:3ac4c50a-09c1-4ea3-b39c-c336d97f5a13')/$links/ContentKeys('nb:kid:UUID:5db89211-c9d9-404b-a6bc-3e6b91c7a214') HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.19
Authorization: Bearer <token value>
Host: media.windows.net
Content-Length: 0
См. также:
AccessPolicy
ContentKey
AssetFile
Задание
JobTemplate
Локатор
MediaProcessor
Задача
TaskTemplate
Использование ресурсов с API REST служб мультимедиа
Квоты и ограничения