Share via


프로그램

프로그램은 라이브 스트림의 세그먼트 게시 및 스토리지을 제어합니다. 프로그램은 동시에 실행될 수 있습니다. 따라서 필요에 따라 이벤트의 다른 부분을 게시하고 보관할 수 있습니다.

속성(최대 25시간)을 설정 ArchiveWindowLength 하여 프로그램에 대해 기록된 콘텐츠를 보존하려는 시간을 지정할 수 있습니다. 클라이언트는 지정된 시간 동안 보관된 콘텐츠를 검색할 수 있습니다. 프로그램이 지정된 ArchiveWindowLength보다 길게 실행되면 오래된 콘텐츠는 제거됩니다. 자세한 내용은 아래의 ArchiveWindowLength 설명서를 참조하세요.

이 항목에서는 Program 엔터티에 대해 간략하게 설명하는 동시에 미디어 서비스 REST API를 사용하여 다양한 작업을 실행하는 방법도 보여 줍니다.

중요

Media Services에서 엔터티에 액세스할 때는 HTTP 요청에서 구체적인 헤더 필드와 값을 설정해야 합니다.
자세한 내용은 Media Services REST API 개발 설정 및 Media Services REST API를 사용하여 Media Services에 연결을 참조하세요.

Program 엔터티 속성

Program 엔터티에 포함된 속성은 다음과 같습니다.

속성 형식 설명
Id

읽기 전용입니다. 미디어 서비스에 의해 설정됩니다.
Edm.String 만들 때 할당되는 프로그램 ID입니다. 형식은 nb:pgid:UUID:<GUID>입니다.
Name Edm.String 프로그램의 이름입니다. 최대 길이는 256자이고 '-' 및 ' '을 포함한 영어 문자와 숫자로 구성할 수 있으며 영숫자 문자로 시작하고 끝날 수 있습니다.
AssetId Edm.String 프로그램 처리에 사용할 자산 ID입니다. 이 속성은 프로그램이 중지됨 상태인 경우에만 업데이트할 수 있습니다.

프로그램에서 사용하는 경우 자산을 삭제할 수 없습니다. 자산을 사용하는 프로그램을 삭제한 후에 자산을 삭제할 수 있습니다.
Created

읽기 전용입니다. 미디어 서비스에 의해 설정됩니다.
Edm.DateTime 만든 시간을 나타내는 UTC 날짜/시간 값입니다.
Description Edm.String 사용자가 제공한 설명입니다. 최대 길이는 256자입니다.
ArchiveWindowLength

필수 요소.
Edm.Time 프로그램에 대해 녹음/녹화된 콘텐츠를 유지할 시간입니다. 이 값은 최소 5분에서 최대 25시간 사이로 설정할 수 있습니다. 또한 클라이언트가 현재 라이브 위치에서 이전 시간을 검색할 수 있는 최대 시간을 나타냅니다. 프로그램은 지정된 시간 동안 실행되지만 기간 길이보다 늦는 콘텐츠는 계속 삭제됩니다. 또한 이 속성의 값은 클라이언트 매니페스트가 증가할 수 있는 길이를 결정합니다.

보관된 콘텐츠를 삭제하려면 프로그램을 중지하고 삭제한 다음 프로그램과 연결된 자산을 삭제합니다.
LastModified

읽기 전용입니다. 미디어 서비스에 의해 설정됩니다.
Edm.DateTime 마지막 수정 작업의 날짜 및 시간입니다.
ManifestName Edm.String 확장명이 없는 매니페스트 파일 이름입니다. 이 속성은 프로그램이 중지됨 상태인 경우에만 업데이트할 수 있습니다.
State

읽기 전용입니다. 미디어 서비스에 의해 설정됩니다.
Edm.String 현재 상태를 가져옵니다. 가능한 값은 다음과 같습니다.

- Stopped. 프로그램을 만든 후에는 중지됨 상태입니다. 이 상태에서 프로그램 속성은 업데이트할 수 있지만 스트리밍은 허용되지 않습니다. 이 상태에서 프로그램을 시작, 업데이트 또는 삭제할 수 있습니다.
- Starting. 프로그램이 시작되고 있습니다. 이 상태에서는 업데이트 또는 스트리밍이 허용되지 않습니다.
- Running. 프로그램이 라이브 스트림을 처리하고 보관할 수 있습니다.
- Stopping. 프로그램이 중지되고 있습니다. 이 상태에서는 업데이트 또는 스트리밍이 허용되지 않습니다.
ChannelId

읽기 전용입니다. 미디어 서비스에 의해 설정됩니다.
Edm.String 프로그램 부모 채널의 ID입니다.
Channel 채널 ChannelId로 지정한 프로그램의 부모 채널입니다.

프로그램 만들기

새 프로그램을 만듭니다.

메서드 요청 URI HTTP 버전
POST <https:// accountname.restv2>.<location.media.azure.net/api/Programs> HTTP/1.1

샘플 요청

Fiddler의 작성기 탭에서 다음 예제를 사용해 볼 수 있습니다.

최신 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 수락됨 상태 코드가 반환됩니다.

{"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"}  
  

참고

이 작업은 동기적으로 완료되므로 추적할 operation-id가 없습니다.

프로그램 시작

프로그램을 시작합니다. 프로그램은 해당 프로그램이 중지됨 상태이고 채널이 실행 중 상태인 경우에만 시작할 수 있습니다.

메서드 요청 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 수락됨 상태 코드는 비동기 작업을 나타냅니다. 이 경우 프로그램 시작 중 또는 중지 중 같은 장기 실행 작업의 상태를 폴링하고 추적하는 데 사용할 수 있도록 operation-id 헤더 값도 제공됩니다. Operation 엔터티에 operation-id 헤더 값을 전달하여 상태를 검색합니다. 자세한 내용은 수동으로 폴링 Long-Running 작업을 참조하세요.

프로그램 중지

프로그램을 중지합니다. Program이 실행 중 상태인 경우에만 중지할 수 있습니다. 이 작업은 비동기 작업입니다.

메서드 요청 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 수락됨 상태 코드는 비동기 작업을 나타냅니다. 이 경우 프로그램 시작 중 또는 중지 중 같은 장기 실행 작업의 상태를 폴링하고 추적하는 데 사용할 수 있도록 operation-id 헤더 값도 제공됩니다. Operation 엔터티에 operation-id 헤더 값을 전달하여 상태를 검색합니다. 자세한 내용은 수동으로 폴링 Long-Running 작업을 참조하세요.

프로그램 나열

프로그램은 GET HTTP 요청을 사용하여 검색됩니다.

메서드 요청 URI HTTP 버전
GET Media Services 계정의 모든 프로그램 가져오기:

<https:// accountname.restv2>.<location.media.azure.net/api/Programs>

미디어 서비스 계정의 지정된 프로그램 가져오기:

<https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId')

지정된 채널과 연결된 모든 프로그램 가져오기:

<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 계정에서 만든 모든 프로그램 목록을 반환합니다.

프로그램 업데이트

프로그램을 업데이트합니다. 프로그램은 중지됨 상태여야 합니다.

메서드 요청 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 콘텐츠 없음 상태 코드를 반환하거나 202 수락됨 상태 코드를 반환합니다. 202 수락됨 상태 코드는 비동기 작업을 나타냅니다. 이 경우 프로그램 시작 중 또는 중지 중 같은 장기 실행 작업의 상태를 폴링하고 추적하는 데 사용할 수 있도록 operation-id 헤더 값도 제공됩니다. Operation 엔터티에 operation-id 헤더 값을 전달하여 상태를 검색합니다. 자세한 내용은 수동으로 폴링 Long-Running 작업을 참조하세요.

프로그램 삭제

프로그램을 삭제합니다. 프로그램은 중지됨 상태인 경우에만 삭제할 수 있습니다.

메서드 요청 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 콘텐츠 없음 상태 코드가 반환됩니다.

참고

이 작업은 동기적으로 완료되므로 추적할 operation-id가 없습니다.

참고 항목

채널