共用方式為


Locator

Locator 提供存取資產中包含之檔案的進入點。 使用 AccessPolicy 來定義用戶端可存取指定之資產的權限與持續時間。 Locator 和 AccessPolicy 可以有多對一關係,讓不同定位器能夠為不同的用戶端提供不同的開始時間與連線類型,而同時全部使用相同的權限與持續時間設定;但是,由於 Azure 儲存服務設定的共用存取原則限制,指定的資產一次不能有超過五個相關的唯一定位器。 如需詳細資訊,請參閱 使用共用存取簽章 (REST API)

您常需要轉換 Locator URI,以便存取各種的檔案格式。 例如,SAS 定位器的 Path 屬性提供容器的存取權。 若要存取檔案,必須在主機與 SAS 簽章之間內嵌檔案名稱。 使用 OnDemandOrigin 定位器時, Path 除非將通訊協定特定部分新增至該位置,否則屬性不會很有用。

下列規則控制何時可以建立及更新定位器:

  1. 要等到檔案上至資產之後,才能夠建立用於定義讀取權限之 AccessPolicies 的存取簽章 (SAS) URL 定位器和原始定位器。 用來下載或上傳檔案的 SAS URL 定位器,唯有在指定寫入權限的 AccessPolicies 時,才能在上傳檔案之前建立。

  2. SAS URL 定位器建立之後就不能更新;不過其他定位器類型 (例如原始定位器) 可以使用新的 StartTime 值更新。

  3. 每次更新相關聯儲存體帳戶的儲存體金鑰時,SAS 定位器的 URL 都會變更。 如需詳細資訊,請參閱 如何:在滾動儲存體存取金鑰之後更新媒體服務

  4. 建立 Locator 之後到它可供使用時,中間可能會有 30 到 40 秒的延遲。 SAS URL 與 OnDemandOrigin 定位器都會發生這樣的延遲問題。

注意

定位器並非針對管理使用者存取控制所設計。 若要給予個別使用者不同的存取權限,請使用數位版權管理 (DRM) 方案。

本文提供實體的概 Locator 觀,也會示範如何使用媒體服務 REST API 執行各種作業。

重要

在媒體服務中存取實體時,您必須在 HTTP 要求中設定特定的標頭欄位和值。
如需詳細資訊,請參閱媒體服務 REST API 開發和使用媒體服務 REST API 連線到媒體服務

Locator 實體屬性

屬性 類型 描述
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 描述定位器類型的列舉值。 有效值為:

- = 0:這是預設列舉值。 有效的定位器不會有此類型
- SAS = 1:指定 Sas) 定位器類型的共用存取簽章 (
- OnDemandOrigin = 2:指定定位器類型,其參考 Azure 媒體服務隨選來源串流端點
Path

唯讀。 由 Media Services 設定。
Edm.String 用於存取資產檔案的 URL。
BaseUri

唯讀。 由 Media Services 設定。
Edm.String 定位器的一部分,可提供與資產相關的儲存/服務/容器資訊。 例如, (Dns 主機名稱 http://someservice.cloudapp.net)
ContentAccessComponent

唯讀。 由 Media Services 設定。
Edm.String URI 中存取內容所需的部分。 此權杖在最終媒體 URL 中的位置取決於定位器類型、媒體類型和串流服務。
AccessPolicyId

唯讀。 由 Media Services 設定。
Edm.String 定義定位器 URL 許可權和持續時間的 AccessPolicy 識別碼。

建立 OnDemandOrigin 定位器時,不應使用 List 許可權。
AssetId

唯讀。 由 Media Services 設定。
Edm.String 資產的識別碼,其中包含您想要提供存取權的內容。
StartTime

選擇性。
Edm.DateTime 定位器可供用戶端使用的日期與時間。 提示: 如果您需要立即上傳檔案,您應該將 StartTime 值設定為目前時間之前的五分鐘。 這是因為用戶端電腦與媒體服務之間可能有時間差。 此外,StartTime 值必須是下列 DateTime 格式: YYYY-MM-DDTHH:mm:ssZ (例如,「2014-05-23T17:53:50Z」) 。
AssetPolicy

唯讀。 由 Media Services 設定。
AssetPolicy 實體集 AccessPolicy 執行個體的瀏覽內容。
Asset

唯讀。 由 Media Services 設定。
Asset 實體集 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 版本
刪除 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  

另請參閱

使用媒體服務 REST API 傳遞資產
ContentKey
資產
AccessPolicy
AssetFile
JobTemplate
工作 (Job)
MediaProcessor
Task
TaskTemplate
配額和限制