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

定位符

Locator 提供了访问资产中包含的文件的进入点。 AccessPolicy 用于定义客户端具有的针对给定资产的访问权限和持续时间。 定位符与 AccessPolicy 的关系可能为多到一的关系,因此,不同定位符可以向不同客户端提供不同的开始时间和连接类型,而全部使用相同的权限和持续时间设置;但是,由于 Azure 存储服务设置的共享访问策略限制,一项给定的资产一次最多只能与五个唯一的定位符相关联。 有关详细信息,请参阅 使用共享访问签名 (REST API)

通常,你需要转换 Locator URI 才能访问各种文件格式。 例如,SAS 定位符的 Path 属性提供对容器的访问权限。 若要访问文件,你需要将文件名嵌入到主机和 SAS 签名之间。 使用 OnDemandOrigin 定位符时, Path 在将特定于协议的部件添加到该属性之前,属性将不可用。

创建和更新定位符时必须遵循以下规则:

  1. 与定义读取权限的 AccessPolicy 一起使用的访问签名 (SAS) URL 定位符以及源定位符只能在已经将文件上载到资产之后创建。 仅当 SAS URL 定位符与指定写入权限的 AccessPolicy 一起使用时,才可以在上载文件之前创建用于下载或上载文件的此类定位符。

  2. 你无法在创建 SAS URL 定位符之后更新此类定位符;但是,其他定位符类型(如源定位符)可以使用新的 StartTime 值进行更新。

  3. 每次更新关联存储帐户的存储密钥时,SAS 定位符的 URL 都会更改。 有关详细信息,请参阅 如何:在滚动存储访问密钥后更新媒体服务

  4. 定位符从创建到可用可能会有 30-40 秒的延迟。 SAS URL 和 OnDemandOrigin 定位符都会出现这个问题。

注意

定位符不用于管理按用户的访问控制。 要为不同用户提供不同的访问权限,请使用数字权限管理 (DRM) 解决方案。

本文概述了实体, Locator 并演示如何使用媒体服务 REST API 执行各种操作。

重要

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

定位符实体属性

属性 类型 说明
Id

可选。 在创建实体后无法进行更新。
Edm.String 媒体服务设置的唯一标识符。
Name

可选。
Edm.String 定位符的名称。 最大长度为 4000。
ExpirationDateTime

只写。 使用 MERGE HTTP 请求更新 ExpirationDateTime 值。
Edm.DateTime 当定位符不再可用于访问指定资产时的值(以自 1970 年 1 月 1 日午夜以来的毫秒数表示)。

ExpirationDateTime 必须采用以下 DateTime 格式: YYYY-MM-DDTHH:mm:ssZ (例如,“2014-05-23T17:53:50Z”) 。
Type

必需。 在创建实体后无法进行更新。
Edm.Int32 描述定位符类型的枚举值。 有效值为:

- None = 0:这是默认枚举值。 没有有效定位符会采用这种类型
- SAS = 1:指定共享访问签名 (Sas) 定位符类型
- OnDemandOrigin = 2:指定定位符类型,该类型引用 Azure 媒体服务按需源流式处理终结点
Path

只读。 由 Media Services 设置。
Edm.String 用于访问资产文件的 URL。
BaseUri

只读。 由 Media Services 设置。
Edm.String 定位符中提供有关资产的 store/service/container 信息的部分。 例如, (Dns 主机名 http://someservice.cloudapp.net)
ContentAccessComponent

只读。 由 Media Services 设置。
Edm.String 访问内容所需的 URI 部分。 此令牌在最终媒体 URL 中的位置取决于定位符类型、媒体类型和流式处理服务。
AccessPolicyId

只读。 由 Media Services 设置。
Edm.String 定义定位符 URL 的权限和持续时间的 AccessPolicy 的 ID。

创建 OnDemandOrigin 定位符时,不应使用 List 权限。
AssetId

只读。 由 Media Services 设置。
Edm.String 资产的 ID,其中包含要提供访问权限的内容。
StartTime

可选。
Edm.DateTime 你的定位符可供客户端使用时的日期和时间。 提示: 如果需要立即上传文件,则应将 StartTime 值设置为当前时间前 5 分钟。 这是因为客户端计算机与媒体服务之间可能存在时钟偏差。 此外,StartTime 值必须采用以下 DateTime 格式: YYYY-MM-DDTHH:mm:ssZ (例如,“2014-05-23T17:53:50Z”) 。
AssetPolicy

只读。 由 Media Services 设置。
AssetPolicy 实体集 指向 AccessPolicy 实例的导航属性。
Asset

只读。 由 Media Services 设置。
Asset 实体集 指向资产实例的导航属性。

创建定位符

可以使用 POST HTTP 请求创建定位符。

方法 请求 URI HTTP 版本
POST <https:// accountname.restv2>。<location.media.azure.net/api/Locators> HTTP/1.1

注意

每次更新关联存储帐户的存储密钥时,SAS 定位符的 URL 都会更改。 有关详细信息,请参阅 如何:在滚动存储访问密钥后更新媒体服务

示例请求

若要获取最新的 x-ms-version:,请参阅 媒体服务 REST

POST https://<accountname>.restv2.<location>.media.azure.net/api/Locators 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: 182  
Expect: 100-continue  
  
{"AccessPolicyId": "nb:pid:UUID:25544a8f-8ccf-43b1-a188-2a860b35bffa", "AssetId" : "nb:cid:UUID:d062e5ef-e496-4f21-87e7-17d210628b7c", "StartTime" : "2014-05-17T16:45:53", "Type":1}  

有关详细信息,请参阅 使用媒体服务 REST API 传送资产

列出定位符

可以使用 GET HTTP 请求检索定位符。

方法 请求 URI HTTP 版本
GET GET https://< accountname.restv2>。<location.media.azure.net/api/Locators> HTTP/1.1
方法 请求 URI HTTP 版本
GET <https:// accountname.restv2>。<location.media.azure.net/api/Locators ('locatorid>') HTTP/1.1
方法 请求 URI HTTP 版本
GET <https:// accountname.restv2>。<location.media.azure.net/api/Assets ('assetid>') /Locators HTTP/1.1

示例请求

若要获取最新的 x-ms-version:,请参阅 媒体服务 REST

GET https://<accountname>.restv2.<location>.media.azure.net/api/Locators('nb:lid:UUID:627cbafb-3d81-4623-97c2-2194282b6d16') 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  

更新定位符

可以使用 MERGE HTTP 请求更新源定位符。

方法 请求 URI HTTP 版本
MERGE <https:// accountname.restv2>。<location.media.azure.net/api/Locators ('locatorid>') HTTP/1.1

示例请求

若要获取最新的 x-ms-version:,请参阅 媒体服务 REST

MERGE https://<accountname>.restv2.<location>.media.azure.net/api/Locators('nb:lid:UUID:5bfcb65d-843d-4d5e-bf71-9306ecb08203') 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: 38  
Expect: 100-continue  
  
{"StartTime" : "2014-05-17T16:45:53"}  

删除定位符

可以使用 DELETE HTTP 请求删除定位符。

方法 请求 URI HTTP 版本
DELETE <https:// accountname.restv2>。<location.media.azure.net/api/Locators ('locatorid>') HTTP/1.1

示例请求

若要获取最新的 x-ms-version:,请参阅 媒体服务 REST

DELETE https://<accountname>.restv2.<location>.media.azure.net/api/Locators('nb:lid:UUID:9f0e0cee-8ea5-46c4-b985-5a7cd30e7623') 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  
Connection: Keep-Alive  

另请参阅

使用 Media Services REST API 传送资产
ContentKey
资产
AccessPolicy
AssetFile
作业模板
作业
MediaProcessor
任务
任务模板
配额和限制