プログラム
ライブ ストリームでのセグメントの公開と保存は、プログラムを使用して制御します。 複数の Program を同時に実行できます。 これにより、1 つのイベントのさまざまな部分を必要に応じて公開したりアーカイブしたりできます。
プログラムの記録されたコンテンツを保持する時間数を指定するには、 プロパティを ArchiveWindowLength
設定します (最大 25 時間)。 クライアントは、指定された時間数の間、アーカイブ済みコンテンツをシークできます。 指定された ArchiveWindowLength より長い時間プログラムが実行されると、古いコンテンツから削除されます。 詳細については、以下に示す ArchiveWindowLength
ドキュメントを参照してください。
このトピックは、Program
エンティティを概説し、また Media Services REST API でさまざまな操作を実行する方法を示します。
重要
Media Services でエンティティにアクセスするときは、HTTP 要求で特定のヘッダー フィールドと値を設定する必要があります。
詳細については、「 Media Services REST API 開発のセットアップ」および「Media Services REST APIを使用した Media Services への接続」を参照してください。
Program エンティティのプロパティ
Program エンティティには、次のプロパティが含まれています。
プロパティ | Type | 説明 |
---|---|---|
Id 読み取り専用です。 Media Services で設定します。 |
Edm.String | 作成時に割り当てられる Program ID。 形式は nb:pgid:UUID:<GUID です>。 |
Name |
Edm.String | Program の名前。 最大長は 256 文字で、"-" と " " を含む任意の英数字を使用できます。ただし、先頭と末尾には英数字を使用する必要があります。 |
AssetId |
Edm.String | Program の処理に使用される Asset ID。 このプロパティは、Program が [Stopped] 状態の場合にのみ更新できます。 プログラムによって使用されているときは資産を削除できません。 資産を削除するには、その資産を使用しているプログラムを先に削除する必要があります。 |
Created 読み取り専用です。 Media Services で設定します。 |
Edm.DateTime | 作成日時を示す UTC 日付/時刻値。 |
Description |
Edm.String | ユーザーが入力する説明。 最大長は 256 文字です。 |
ArchiveWindowLength 必須。 |
Edm.Time | プログラムの記録済みコンテンツを保持する時間数。 この値は、最小 5 分から最大 25 時間までの範囲で設定できます。 また、この値は、クライアントが現在のライブの位置からさかのぼってシークできる最大時間でもあります。 プログラムの放送は、指定された期間継続しますが、ArchiveWindowLength を過ぎたコンテンツは絶えず破棄されていきます。 さらに、このプロパティの値によって、クライアント マニフェストが肥大した場合の最大サイズも決まります。 アーカイブ済みのコンテンツを削除するには、プログラムを停止し、削除したうえで、そのプログラムに関連付けられている資産を削除します。 |
LastModified 読み取り専用です。 Media Services で設定します。 |
Edm.DateTime | 最後に行われた修正の日時。 |
ManifestName |
Edm.String | 拡張子を除いたマニフェスト ファイル名。 このプロパティは、Program が [Stopped] 状態の場合にのみ更新できます。 |
State 読み取り専用です。 Media Services で設定します。 |
Edm.String | 現在の状態を取得します。 次の値を指定できます。 - 停止済み。 Program の作成後の状態は [Stopped] です。 この状態のとき、Program のプロパティは更新できますが、ストリーミングは実行できません。 また、この状態から Program を開始、更新、または削除できます。 - 開始中。 Program を開始しています。 この状態の場合、更新やストリーミングはできません。 - 実行中。 Program はライブ ストリームを処理およびアーカイブできます。 - 停止中。 Program を停止しています。 この状態の場合、更新やストリーミングはできません。 |
ChannelId 読み取り専用です。 Media Services で設定します。 |
Edm.String | Program の親 Channel の ID。 |
Channel |
チャネル | ChannelId で指定された Program の親 Channel。 |
Program の作成
新しい Program を作成します。
Method | 要求 URI | HTTP バージョン |
---|---|---|
POST | <https:// accountname.restv2>。<location.media.azure.net/api/Programs> | HTTP/1.1 |
要求のサンプル
Fiddler の [Composer] タブで次の例を試すことができます。
最新 x-ms-version:
の を取得するには、「 Media Services REST」を参照してください。
要求ヘッダー:
POST https://testrest.cloudapp.net/api/Programs HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
x-ms-version: 2.19
Content-Type: application/json;odata=minimalmetadata
Host: <host URI>
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
要求本文:
{"Id":null,"Name":"testprogram001","Description":"","Created":"0001-01-01T00:00:00","LastModified":"0001-01-01T00:00:00","ChannelId":"nb:chid:UUID:83bb19de-7abf-4907-9578-abe90adfbabe","AssetId":"nb:cid:UUID:bc495364-5357-42a1-9a9d-be54689cfae2","ArchiveWindowLength":"PT1H","State":null,"ManifestName":null}
成功すると、応答本文に 202 Accepted ステータス コードと、作成されたエンティティの表記が返されます。
{"odata.metadata":"https://testrest.cloudapp.net/api/$metadata#Programs/@Element","Id":"nb:pgid:UUID:b870dd57-4b04-41b6-849d-b2470e50e7e6","Name":"testprogram001","Description":"","Created":"2014-08-11T18:12:27.8381256Z","LastModified":"2014-08-11T18:12:27.8381256Z","ChannelId":"nb:chid:UUID:83bb19de-7abf-4907-9578-abe90adfbabe","AssetId":"nb:cid:UUID:bc495364-5357-42a1-9a9d-be54689cfae2","ArchiveWindowLength":"PT1H","State":"Stopped","ManifestName":"f91329ec-26f5-4026-87f5-f5437d4da9e6"}
注意
この操作は同期的に完了するため、追跡できる操作 ID はありません。
Program の開始
Program を開始します。 Program は、Program が [Stopped] 状態で、チャンネルが [Running] 状態の場合にのみ開始できます。
Method | 要求 URI | HTTP バージョン |
---|---|---|
開始 | <https:// accountname.restv2>。<location.media.azure.net/api/Programs>('ProgramId')/Start | HTTP/1.1 |
要求のサンプル
Fiddler の [Composer] タブで次の例を試すことができます。
最新 x-ms-version:
の を取得するには、「 Media Services REST」を参照してください。
要求ヘッダー:
POST https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc')/Start HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
x-ms-version: 2.19
Content-Type: application/json;odata=minimalmetadata
Host: <host URI>
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
処理が正常に終了すると、[202 受理されました] ステータス コードが返されます。 [202 受理されました] ステータス コードは非同期操作を示しています。この場合、操作 ID ヘッダー値は、Program の開始や停止など、長時間実行処理のステータスのポーリングと追跡にも使用されます。 ステータスを取得するために、操作 ID ヘッダー値を操作エンティティに渡します。 詳細については、「 Long-Running 操作を手動でポーリングする」を参照してください。
Program の停止
Program を停止します。 Program は、[Running] 状態の場合にのみ停止できます。 これは非同期操作です。
Method | 要求 URI | HTTP バージョン |
---|---|---|
Stop | <https:// accountname.restv2>。<location.media.azure.net/api/Programs>('ProgramId')/Stop | HTTP/1.1 |
要求のサンプル
Fiddler の [Composer] タブで次の例を試すことができます。
最新 x-ms-version:
の を取得するには、「 Media Services REST」を参照してください。
要求ヘッダー:
POST https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc')/Stop HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
x-ms-version: 2.19
Content-Type: application/json;odata=minimalmetadata
Host: <host URI>
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
処理が正常に終了すると、[202 受理されました] ステータス コードが返されます。 [202 受理されました] ステータス コードは非同期操作を示しています。この場合、操作 ID ヘッダー値は、Program の開始や停止など、長時間実行処理のステータスのポーリングと追跡にも使用されます。 ステータスを取得するために、操作 ID ヘッダー値を操作エンティティに渡します。 詳細については、「 Long-Running 操作を手動でポーリングする」を参照してください。
Program のリスト
Program は、GET HTTP 要求を使用して取得します。
Method | 要求 URI | HTTP バージョン |
---|---|---|
GET | Media Services アカウント内のすべての Program を取得します。 <https:// accountname.restv2>。<location.media.azure.net/api/Programs> Media Services アカウント内の指定された Program を取得します。 <https:// accountname.restv2>。<location.media.azure.net/api/Programs>('ProgramId') 指定された Channel に関連付けられているすべての Program を取得します。 <https:// accountname.restv2>。<location.media.azure.net/api/Channels>('channelid')/Programs |
HTTP/1.1 |
要求のサンプル
Fiddler の [Composer] タブで次の例を試すことができます。
最新 x-ms-version:
の を取得するには、「 Media Services REST」を参照してください。
要求ヘッダー:
GET https://testrest.cloudapp.net/api/Programs HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
x-ms-version: 2.19
Content-Type: application/json;odata=minimalmetadata
Host: <host URI>
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
成功した場合、この操作は 200 OK 状態コードと、Media Services アカウントで作成されたすべてのプログラムの一覧を返します。
Program の更新
Program を更新します。 Program は [Stopped] 状態の場合にのみ更新できます。
Method | 要求 URI | HTTP バージョン |
---|---|---|
PATCH/PUT/MERGE これらの操作の詳細については、「 PATCH/PUT/MERGE」を参照してください。 |
<https:// accountname.restv2>。<location.media.azure.net/api/Programs>('ProgramId') | HTTP/1.1 |
要求のサンプル
Fiddler の [Composer] タブで次の例を試すことができます。
最新 x-ms-version:
の を取得するには、「 Media Services REST」を参照してください。
要求ヘッダー:
PATCH https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc') HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
x-ms-version: 2.19
Content-Type: application/json;odata=minimalmetadata
Host: <host URI>
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
要求本文:
{"ArchiveWindowLength":"PT3H"}
更新を同期で完了すると、204 No Content ステータス コードが返されます。そうでない場合は、202 Accepted ステータス コードが返されます。 [202 受理されました] ステータス コードは非同期操作を示しています。この場合、操作 ID ヘッダー値は、Program の開始や停止など、長時間実行処理のステータスのポーリングと追跡にも使用されます。 ステータスを取得するために、操作 ID ヘッダー値を操作エンティティに渡します。 詳細については、「 Long-Running 操作を手動でポーリングする」を参照してください。
Program の削除
Program を削除します。 Program は、[Stopped] 状態の場合にのみ削除できます。
Method | 要求 URI | HTTP バージョン |
---|---|---|
DELETE | <https:// accountname.restv2>。<location.media.azure.net/api/Programs>('ProgramId') | HTTP/1.1 |
要求のサンプル
Fiddler の [Composer] タブで次の例を試すことができます。
最新 x-ms-version:
の を取得するには、「 Media Services REST」を参照してください。
要求ヘッダー:
DELETE https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc') HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
x-ms-version: 2.19
Content-Type: application/json;odata=minimalmetadata
Host: <host URI>
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
成功すると、状態コード 204 No Content が返されます。
注意
この操作は同期的に完了するため、追跡できる操作 ID はありません。