Locator
Locator
提供存取資產中包含之檔案的進入點。 使用 AccessPolicy 來定義用戶端可存取指定之資產的權限與持續時間。 Locator 和 AccessPolicy 可以有多對一關係,讓不同定位器能夠為不同的用戶端提供不同的開始時間與連線類型,而同時全部使用相同的權限與持續時間設定;但是,由於 Azure 儲存服務設定的共用存取原則限制,指定的資產一次不能有超過五個相關的唯一定位器。 如需詳細資訊,請參閱 使用共用存取簽章 (REST API) 。
您常需要轉換 Locator
URI,以便存取各種的檔案格式。 例如,SAS 定位器的 Path
屬性提供容器的存取權。 若要存取檔案,必須在主機與 SAS 簽章之間內嵌檔案名稱。 使用 OnDemandOrigin 定位器時, Path
除非將通訊協定特定部分新增至該位置,否則屬性不會很有用。
下列規則控制何時可以建立及更新定位器:
要等到檔案上至資產之後,才能夠建立用於定義讀取權限之 AccessPolicies 的存取簽章 (SAS) URL 定位器和原始定位器。 用來下載或上傳檔案的 SAS URL 定位器,唯有在指定寫入權限的 AccessPolicies 時,才能在上傳檔案之前建立。
SAS URL 定位器建立之後就不能更新;不過其他定位器類型 (例如原始定位器) 可以使用新的 StartTime 值更新。
每次更新相關聯儲存體帳戶的儲存體金鑰時,SAS 定位器的 URL 都會變更。 如需詳細資訊,請參閱 如何:在滾動儲存體存取金鑰之後更新媒體服務
建立 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
配額和限制