Поделиться через


Ресурс

Сущность 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, помните о следующем:

  1. Действие Publish не удаляет локаторы, связанные с ресурсом. После вызова Publish необходимо удалить все локаторы в коде.
  2. Действие 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://&lt;accountname&gt;.restv2.&lt;location&gt;.media.azure.net/api/ContentKeys('nb%3Akid%3AUUID%3A5db89211-c9d9-404b-a6bc-3e6b91c7a214')"}  
  

Вы можете удалить ссылки 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 служб мультимедиа
Квоты и ограничения