Locator
Locator
は、Asset に含まれるファイルにアクセスするためのエントリ ポイントを提供します。 AccessPolicy は、アクセス許可と、指定された Asset に対してクライアントが保持するアクセス許可の期間を定義するために使用します。 ロケーターは、AccessPolicy に対して多対 1 の関係を形成することができます。さまざまなロケーターがさまざまな開始時間と接続の種類をさまざまなクライアントに対して提供しつつ、アクセス許可と期間の設定をすべて同じにするような関係です。しかし、Azure Storage サービスによって設定される共有アクセス ポリシー制限のため、指定された Asset に対して 6 つ以上の一意のロケーターを一度に関連付けることはできません。 詳細については、「 Shared Access Signature (REST API) の使用」を参照してください。
さまざまなファイル形式にアクセスするために、Locator
URI を変換する必要が生じる場合があります。 たとえば、SAS ロケーターの Path
プロパティは、コンテナーへのアクセスを提供します。 ファイルにアクセスするには、ホストと SAS 署名の間にファイル名を埋め込む必要があります。 OnDemandOrigin ロケーターを使用する場合、 Path
プロトコル固有の部分が追加されるまで、 プロパティは役に立ちません。
ロケーターを追加および更新できるタイミングについては、次のルールが適用されます。
読み取りアクセス許可を定義する AccessPolicy と共に使用される Access Signature (SAS) URL ロケーター、および Origin ロケーターは、ファイルが Asset にアップロードされるまで作成できません。 ファイルのダウンロードまたはアップロードに使用される SAS URL ロケーターは、書き込みアクセス許可を指定する AccessPolicy と共に使用される場合にのみ、ファイルのアップロード前に作成できます。
AS URL ロケーターを作成後に更新することはできませんが、Origin ロケーターなど他のロケーターの種類は、新しい StartTime 値を使用して更新できます。
SAS ロケーターの URL は、関連付けられているストレージ アカウントのストレージ キーが更新されるたびに変更されます。 詳細については、「方法: ストレージ アクセス キーのローリング後に Media Services を更新する」を参照してください。
Locator を作成した後に使用可能になるまで 30 ~ 40 秒の遅延が発生する場合があります。 この問題は、SAS URL と OnDemandOrigin の両方のロケーターに適用されます。
注意
ロケーターは、ユーザー単位のアクセス許可の管理向けには設計されていません。 個々のユーザーに異なるアクセス権限を付与するには、デジタル著作権管理 (DRM) ソリューションを使用します。
この記事では、エンティティの Locator
概要と、Media Services REST API を使用してさまざまな操作を実行する方法についても説明します。
重要
Media Services でエンティティにアクセスするときは、HTTP 要求で特定のヘッダー フィールドと値を設定する必要があります。
詳細については、「 Media Services REST API 開発のセットアップ」および「Media Services REST APIを使用した Media Services への接続」を参照してください。
ロケーター エンティティ プロパティ
プロパティ | Type | 説明 |
---|---|---|
Id 省略可能。 エンティティが作成された後に更新することはできません。 |
Edm.String | Media Services によって設定される一意識別子。 |
Name 省略可能。 |
Edm.String | ロケーターの名前。 最大長は 4000 です。 |
ExpirationDateTime 書き込み専用です。 MERGE HTTP 要求を使用して ExpirationDateTime の値を更新します。 |
Edm.DateTime | 指定したアセットへのアクセスにこのロケーターを使用できなくなるタイミングの値 (1970 年 1 月 1 日午前 0 時以降のミリ秒単位で表します)。 ExpirationDateTime は、DateTime 形式 YYYY-MM-DDTHH:mm:ssZ である必要があります (たとえば、"2014-05-23T17:53:50Z")。 |
Type 必須。 エンティティが作成された後に更新することはできません。 |
Edm.Int32 | ロケーターの種類を表す列挙値。 有効な値は次のとおりです。 - None = 0: これは既定の列挙値です。 有効なロケーターがこの種類になることはありません。 - SAS = 1: Shared Access Signature (Sas) ロケーターの種類を指定します - OnDemandOrigin = 2: ロケーターの種類を指定します。これは、Azure Media Service オンデマンド 配信元ストリーミング エンドポイントを参照します |
Path 読み取り専用です。 Media Services で設定します。 |
Edm.String | Asset ファイルへのアクセスに使用する 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 の ID。 OnDemandOrigin ロケーターの作成時に List 権限を使用しないでください。 |
AssetId 読み取り専用です。 Media Services で設定します。 |
Edm.String | アクセス権を付与するコンテンツを含む資産の ID。 |
StartTime 省略可能。 |
Edm.DateTime | ロケーターがクライアントで使用可能になる日時。
ヒント: ファイルをすぐにアップロードする必要がある場合は、StartTime 値を現在の時刻の 5 分前に設定する必要があります。 これは、クライアント コンピューターと Media Services の間にクロック スキューがある可能性があるためです。 また、StartTime 値は DateTime 形式 YYYY-MM-DDTHH:mm:ssZ である必要があります (たとえば、"2014-05-23T17:53:50Z" など)。 |
AssetPolicy 読み取り専用です。 Media Services で設定します。 |
AssetPolicy エンティティ セット |
AccessPolicy インスタンスへのナビゲーション プロパティ。 |
Asset 読み取り専用です。 Media Services で設定します。 |
Asset エンティティ セット |
Asset インスタンスへのナビゲーション プロパティ。 |
ロケーターの作成
Locator は、POST HTTP 要求を使用して作成できます。
Method | 要求 URI | HTTP バージョン |
---|---|---|
POST | <https:// accountname.restv2>。<location.media.azure.net/api/Locators> | HTTP/1.1 |
注意
SAS ロケーターの URL は、関連付けられているストレージ アカウントのストレージ キーが更新されるたびに変更されます。 詳細については、「方法: ストレージ アクセス キーのローリング後に Media Services を更新する」を参照してください。
要求のサンプル
最新 x-ms-version:
の を取得するには、「 Media Services 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}
詳細については、「 Media Services REST API を使用した資産の配信」を参照してください。
ロケーターの一覧表示
Locator は、GET HTTP 要求を使用して取得できます。
Method | 要求 URI | HTTP バージョン |
---|---|---|
GET | GET https://< accountname.restv2>。<location.media.azure.net/api/Locators> | HTTP/1.1 |
Method | 要求 URI | HTTP バージョン |
---|---|---|
GET | <https:// accountname.restv2>。<location.media.azure.net/api/Locators>('locatorid') | HTTP/1.1 |
Method | 要求 URI | HTTP バージョン |
---|---|---|
GET | <https:// accountname.restv2>。<location.media.azure.net/api/Assets>('assetid')/Locators | HTTP/1.1 |
要求のサンプル
最新 x-ms-version:
の を取得するには、「 Media Services 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
ロケーターの更新
Origin Locator は、MERGE HTTP 要求を使用して更新できます。
Method | 要求 URI | HTTP バージョン |
---|---|---|
MERGE | <https:// accountname.restv2>。<location.media.azure.net/api/Locators>('locatorid') | HTTP/1.1 |
要求のサンプル
最新 x-ms-version:
の を取得するには、「 Media Services 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"}
ロケーターの削除
Locator は、DELETE HTTP 要求を使用して削除できます。
Method | 要求 URI | HTTP バージョン |
---|---|---|
DELETE | <https:// accountname.restv2>。<location.media.azure.net/api/Locators>('locatorid') | HTTP/1.1 |
要求のサンプル
最新 x-ms-version:
の を取得するには、「 Media Services 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
Asset
AccessPolicy
AssetFile
JobTemplate
ジョブ
MediaProcessor
タスク
TaskTemplate
クォータと制限