你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

资产

Asset 实体包含数字文件(包括视频、音频、图像、缩略图集合、文本轨道和隐藏的解释性字幕文件)以及这些文件的相关元数据。 数字文件在上传到资产中后,即可用于媒体服务编码和流式处理工作流。

对资产进行编码时,完成编码作业后会生成输出资产。 在上述文件中,输出资产包含描述输入资产和输出资产的 XML 元数据文件。 有关详细信息,请参阅文章输入元数据输出元数据

以下特征适用于媒体服务中的资产:

  • 资产是一个表示单一视听呈现的逻辑单元。

  • 资产包含由一到多个媒体文件组成的集合。

  • 资产包含的文件位于单个 Blob 存储容器中。

资产的一些示例包括:完整的电影、电视节目、特定编辑;来自电影、电视节目、动画、相机 ISO 文件或事件的剪辑;电影预告片或宣传视频;广告;音频文件、广播节目、播客或声音文件。

以下特征不适用于媒体服务中的资产:

  • 只是一个存储容器

  • 在其中组织和存储同一表示形式的多个版本的文件夹

  • 用于向 Azure Media Encoder 提交多个视听呈现的批处理的文件夹

例如,不得将电影、电影预告片、广告以及同一电影的国际编辑版本存储在一个资产中。

本主题提供 Asset 实体的概述,并且还演示如何使用 Media Services REST API 执行各种操作。

重要

访问媒体服务中的实体时,必须在 HTTP 请求中设置特定标头字段和值。
有关详细信息,请参阅 设置媒体服务 REST API 开发 和使用 媒体服务 REST API 连接到媒体服务

资产实体属性

属性 类型 说明
Id

只读。 由媒体服务在创建时设置。
字符串 唯一标识符。
State

只读。 由 Media Services 设置。
Edm.Int32 描述资产状态的枚举值。 有效值包括:

- Initialized = 0
- 已发布 = 1 警告: 操作 Publish 已弃用。 请删除检查资产是否处于 Published 状态的代码。
- 已删除 = 2

在删除之前,资产始终处于初始化状态。
Created

只读。 由媒体服务在创建时设置。
Edm.DateTime 此值由媒体服务在创建时设置。
LastModified

只读。 由 Media Services 设置。
Edm.DateTime 进行任何属性更改后,媒体服务会更新此值。
AlternateId

可选。
Edm.String 备用 ID 值,与其他内容管理系统中的 ID 对应。 最大长度为 4000。
Name

可选。
Edm.String 资产的友好名称。 最大长度为 512。
Options

必需。 在创建实体后无法进行更新。
Edm.Int32 一个枚举值,描述可用于创建资产的加密选项。 有效值为下面的列表中的某个值,而不是此列表中值的组合:

- None = 0:指定无资产创建选项。
- StorageEncrypted = 1:指定在创建资产时应加密资产的文件以供上传和存储。
- CommonEncryptionProtected = 2:指定使用常用加密方法保护资产的文件, (如 PlayReady) 。
- EnvelopeEncryptionProtected = 4
Uri

只读。 由 Media Services 设置。
Edm.String 指定资产的 Blob 存储容器的 URI。
Locators

只读。 由 Media Services 设置。
定位符实体集 返回的实体集包含已链接到指定资产的所有定位符实体。
ContentKeys

可选。
ContentKey 实体集 返回的实体集包含已链接到指定资产的所有 ContentKey 实体。
Files

只读。 由 Media Services 设置。
文件实体集 返回的实体集包含已链接到指定资产的所有文件实体。
ParentAssets

可选。
父资产实体集 返回的实体集包含已链接到指定资产的所有父资产实体。
StorageAccountName

可选。 在创建实体后无法进行更新。
Edm.String 存储帐户的名称,该帐户包含资产的 BLOB 容器。

如果未在创建时指定,媒体服务将设置默认存储帐户名称。
StorageAccount

只读。 由 Media Services 设置。
StorageAccount 实体集 返回的实体集包含已链接到指定资产的所有 StorageAccount 实体。
DeliveryPolicies AssetDeliveryPolicy 实体集 返回的实体集包含与资产关联的传送策略。
FormatOption Edm.Int32 指定可用于创建资产的不同格式选项。 允许的值为:0 (默认) - 指定无资产格式选项;1 - 指定资产的格式将为 AdaptiveStreaming。

创建资产

可以通过使用 POST HTTP 请求并指定属性值来创建资产。

方法 请求 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" }  

列出资产

可以使用 GET HTTP 请求检索资产。

方法 请求 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  
  

更新资产

可以使用 MERGE HTTP 请求以及要更改的特定属性来更新资产。

方法 请求 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" }  

删除资产

可以通过引用资产 ID 值来删除资产。 删除资产时,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 状态的代码。 当前,资产只能具有 InitializedDeleted 状态。

将内容密钥链接到资产

可以通过使用 HTTP POST 请求引用资产 ID 将 ContentKey 链接到资产。 必须将 ContentKey 的 URI 包含在请求正文中。 只能链接与资产的 CreationOptions 中指定的类型匹配的 ContentKey 类型。 例如,如果资产具有设置为 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')"}  
  

可以通过在 HTTP DELETE 请求中引用资产 ID 和 ContentKey ID,从 资产中删除 ContentKey 链接。 如果 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
作业
作业模板
定位
MediaProcessor
任务
任务模板
使用 Media Services REST API 引入资产
配额和限制