자산
Asset
엔터티에는 디지털 파일(비디오, 오디오, 이미지, 미리 보기 컬렉션, 텍스트 트랙 및 닫힌 캡션 파일 포함)과 이러한 파일에 대한 메타데이터가 포함되어 있습니다. 디지털 파일은 자산에 업로드한 후 Media Services 인코딩 및 스트리밍 워크플로에서 사용할 수 있습니다.
자산을 인코딩하는 경우 출력 자산은 인코딩 작업 완료 시 생성됩니다. 위에서 언급한 파일 중 출력 자산에는 입력 자산 및 출력 자산을 설명하는 XML 메타데이터 파일이 포함됩니다. 자세한 내용은 입력 메타데이터 및 출력 메타데이터 문서를 참조하세요.
Media Services의 자산에 적용되는 특성은 다음과 같습니다.
자산은 단일 시청각 프레젠테이션을 나타내는 논리 단위입니다.
자산에는 일 대 다 미디어 파일 컬렉션이 포함되어 있습니다.
자산의 파일은 단일 Blob 저장소 컨테이너에 있습니다.
자산의 몇 가지 예는 다음과 같습니다: 전체 영화, TV 쇼, 특정 편집; 영화, TV 프로그램, 애니메이션, 카메라 ISO 파일 또는 이벤트의 클립 영화 예고편 또는 홍보 동영상 광고; 오디오 파일, 라디오 쇼, 팟캐스트 또는 사운드 파일
Media Services의 자산에는 다음 특성이 적용되지 않습니다.
저장소 컨테이너 단순화
동일한 프레젠테이션의 여러 버전을 구성 및 저장하기 위한 폴더
여러 시청각 프레젠테이션의 일괄 처리를 Azure 미디어 인코더에 제출하기 위한 폴더
예를 들어 자산 하나에 동영상, 동영상의 예고편, 광고 및 동일한 동영상의 국제 편집 버전은 저장하면 안 됩니다.
이 항목에서는 Asset
엔터티에 대해 간략하게 설명하는 동시에 미디어 서비스 REST API를 사용하여 다양한 작업을 실행하는 방법도 보여 줍니다.
중요
Media Services에서 엔터티에 액세스할 때는 HTTP 요청에서 구체적인 헤더 필드와 값을 설정해야 합니다.
자세한 내용은 Media Services REST API 개발 설정 및 Media Services REST API를 사용하여 Media Services에 연결을 참조하세요.
Asset 엔터티 속성
속성 | 형식 | 설명 |
---|---|---|
Id 읽기 전용입니다. 만들 때 Media Services에서 설정합니다. |
문자열 | 고유 식별자입니다. |
State 읽기 전용입니다. 미디어 서비스에 의해 설정됩니다. |
Edm.Int32 | 자산 상태를 설명하는 열거 값입니다. 값은 다음과 같습니다. - 초기화 = 0 - 게시됨 = 1 경고: Publish 작업이 더 이상 사용되지 않습니다. 자산이 Published 상태인지 여부를 확인하는 코드를 제거합니다.- 삭제됨 = 2 삭제되기 전까지 자산은 항상 초기화 상태입니다. |
Created 읽기 전용입니다. 만들 때 Media Services에서 설정합니다. |
Edm.DateTime | 이 값은 생성 시 Media Services에 의해 설정됩니다. |
LastModified 읽기 전용입니다. 미디어 서비스에 의해 설정됩니다. |
Edm.DateTime | 이 값은 속성이 변경된 후 Media Services에 의해 업데이트됩니다. |
AlternateId 선택 사항입니다. |
Edm.String | 다른 콘텐츠 관리 시스템의 ID에 해당하는 대체 ID 값입니다. 최대 길이는 4000입니다. |
Name 선택 사항입니다. |
Edm.String | 자산의 이름입니다. 최대 길이는 512입니다. |
Options 필수 요소. 엔터티가 만들어진 후에는 업데이트할 수 없습니다. |
Edm.Int32 | 자산을 만들 수 있는 암호화 옵션에 대해 설명하는 열거 값입니다. 유효한 값은 다음 목록 값의 조합이 아니라 이 목록의 값 중 하나입니다. - 없음 = 0: 자산 만들기 옵션을 지정하지 않습니다. - StorageEncrypted = 1: 자산을 만들 때 업로드 및 스토리지를 위해 자산의 파일을 암호화해야 한다고 지정합니다. - CommonEncryptionProtected = 2: 일반적인 암호화 방법(예: PlayReady)을 사용하여 자산의 파일이 보호되도록 지정합니다. - EnvelopeEncryptionProtected = 4 |
Uri 읽기 전용입니다. 미디어 서비스에 의해 설정됩니다. |
Edm.String | 지정된 자산의 Blob Storage 컨테이너 URI입니다. |
Locators 읽기 전용입니다. 미디어 서비스에 의해 설정됩니다. |
Locator 엔터티 집합 | 반환된 엔터티 집합에는 지정된 자산에 연결된 모든 Locator 엔터티가 포함됩니다. |
ContentKeys 선택 사항입니다. |
ContentKey 엔터티 집합 | 반환된 엔터티 집합에는 지정된 자산에 연결된 모든 ContentKey 엔터티가 포함됩니다. |
Files 읽기 전용입니다. 미디어 서비스에 의해 설정됩니다. |
File 엔터티 집합 | 반환된 엔터티 집합에는 지정된 자산에 연결된 모든 File 엔터티가 포함됩니다. |
ParentAssets 선택 사항입니다. |
ParentAssets 엔터티 집합 | 반환된 엔터티 집합에는 지정된 자산에 연결된 모든 ParentAssets 엔터티가 포함됩니다. |
StorageAccountName 선택 사항입니다. 엔터티가 만들어진 후에는 업데이트할 수 없습니다. |
Edm.String | 자산의 Blob 컨테이너가 포함된 저장소 계정 이름입니다. 만들 때 지정하지 않으면 Media Services에서 기본 스토리지 계정 이름을 설정합니다. |
StorageAccount 읽기 전용입니다. 미디어 서비스에 의해 설정됩니다. |
StorageAccount 엔터티 집합 | 반환된 엔터티 집합에는 지정된 자산에 연결된 모든 StorageAccount 엔터티가 포함됩니다. |
DeliveryPolicies |
AssetDeliveryPolicy 엔터티 집합 | 반환된 엔터티 집합에는 자산과 관련된 배달 정책이 포함됩니다. |
FormatOption |
Edm.Int32 | 자산을 만들 수 있는 다양한 형식 옵션을 지정합니다. 허용되는 값은 0(기본값) - 자산 형식 옵션을 지정하지 않습니다. 1 - 자산의 형식이 AdaptiveStreaming이 되도록 지정합니다. |
자산 만들기
자산은 POST HTTP 요청을 통해 속성 값을 지정하여 만들 수 있습니다.
메서드 | 요청 URI | HTTP 버전 |
---|---|---|
POST | <https:// accountname.restv2>.<location.media.azure.net/api/Assets> | HTTP/1.1 |
샘플 요청
최신 x-ms-version:
을 얻으려면 Media Services REST를 참조하세요.
POST https://<accountname>.restv2.<location>.media.azure.net/api/Assets 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: 27
Expect: 100-continue
{ "Name" : "NewJSONAsset" }
자산 나열
자산은 GET HTTP 요청을 사용하여 검색할 수 있습니다.
메서드 | 요청 URI | HTTP 버전 |
---|---|---|
GET | <https:// accountname.restv2>.<location.media.azure.net/api/Assets> | HTTP/1.1 |
메서드 | 요청 URI | HTTP 버전 |
---|---|---|
GET | <https:// accountname.restv2>.<location.media.azure.net/api/Assets>('assetid') | HTTP/1.1 |
샘플 요청
최신 x-ms-version:
을 얻으려면 Media Services REST를 참조하세요.
GET https://<accountname>.restv2.<location>.media.azure.net/api/Assets('nb:cid:UUID:fccb8cd9-7afa-4365-a36e-d5d68409bb64') 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
자산 업데이트
자산은 MERGE HTTP 요청 및 변경하려는 특정 속성을 사용하여 업데이트할 수 있습니다.
메서드 | 요청 URI | HTTP 버전 |
---|---|---|
MERGE | <https:// accountname.restv2>.<location.media.azure.net/api/Assets>('assetid') | HTTP/1.1 |
샘플 요청
최신 x-ms-version:
을 얻으려면 Media Services REST를 참조하세요.
MERGE https://<accountname>.restv2.<location>.media.azure.net/api/Assets('nb:cid:UUID:80782407-3f87-4e60-a43e-5e4454232f60') 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: 21
Expect: 100-continue
{"Name" : "NewName" }
자산 삭제
자산은 자산 ID 값을 참조하여 삭제할 수 있습니다. 자산이 삭제되면 Microsoft Azure Media Services 모든 로케이터가 삭제됩니다. 자산에 원본 로케이터가 있는 경우 이러한 로케이터도 해지되고 삭제됩니다. ContentKey에 대한 모든 링크가 삭제되고 다른 자산에 연결되지 않은 모든 ContentKey가 삭제됩니다.
메서드 | 요청 URI | HTTP 버전 |
---|---|---|
DELETE | <https:// accountname.restv2>.<location.media.azure.net/api/Assets>('assetid') | HTTP/1.1 |
샘플 요청
최신 x-ms-version:
을 얻으려면 Media Services REST를 참조하세요.
DELETE https://<accountname>.restv2.<location>.media.azure.net/api/Assets('nb:cid:UUID:fccb8cd9-7afa-4365-a36e-d5d68409bb64') 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
자산 게시
참고
Publish
작업이 더 이상 사용되지 않습니다. 최신 Media Services 릴리스부터 를 Publish
사용하면 안 됩니다.
코드에서 Publish
를 사용할 경우 다음 고려 사항에 주의하세요.
-
Publish
작업은 자산과 연결된 로케이터를 삭제하지 않습니다.Publish
를 호출하면 코드에서 로케이터를 명시적으로 삭제해야 합니다. -
Publish
작업은 자산 상태를Published
으로 설정하지 않습니다. 자산이Published
상태인지 여부를 확인하는 코드를 제거합니다. 현재 자산은Initialized
또는Deleted
상태만 있을 수 있습니다.
자산에 콘텐츠 키 연결
HTTP POST 요청으로 자산 ID를 참조하여 ContentKey 를 자산에 연결할 수 있습니다. ContentKey의 URI가 요청 본문에 포함되어야 합니다. 자산의 CreationOptions에서 지정된 유형과 일치하는 ContentKey 유형만 연결할 수 있습니다. 예를 들어 자산에 StorageEncrypted(1)로 설정된 옵션이 있는 경우 ContentKey는 StorageEncryption(1) 유형이어야 합니다.
메서드 | 요청 URI | HTTP 버전 |
---|---|---|
POST | <https:// accountname.restv2>.<location.media.azure.net/api/Assets>('Asset Id')/$links/ContentKeys | HTTP/1.1 |
샘플 요청
최신 x-ms-version:
을 얻으려면 Media Services REST를 참조하세요.
POST https://<accountname>.restv2.<location>.media.azure.net/api/Assets('nb:cid:UUID:3ac4c50a-09c1-4ea3-b39c-c336d97f5a13')/$links/ContentKeys 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: 121
Expect: 100-continue
{ "uri": "https://<accountname>.restv2.<location>.media.azure.net/api/ContentKeys('nb%3Akid%3AUUID%3A5db89211-c9d9-404b-a6bc-3e6b91c7a214')"}
ContentKey 링크 제거
HTTP DELETE 요청에서 자산 ID 및 ContentKey ID를 참조하여 자산에서 ContentKey 링크를 제거할 수 있습니다. ContentKey가 다른 자산에 연결되어 있지 않은 경우 ContentKey는 삭제됩니다.
메서드 | 요청 URI | HTTP 버전 |
---|---|---|
DELETE | <https:// accountname.restv2>.<location.media.azure.net/api/Assets>('Asset Id')/$links/ContentKeys('ContentKey Id') | HTTP/1.1 |
샘플 요청
최신 x-ms-version:
을 얻으려면 Media Services REST를 참조하세요.
DELETE https://<accountname>.restv2.<location>.media.azure.net/api/Assets('nb:cid:UUID:3ac4c50a-09c1-4ea3-b39c-c336d97f5a13')/$links/ContentKeys('nb:kid:UUID:5db89211-c9d9-404b-a6bc-3e6b91c7a214') 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
참고 항목
AccessPolicy
ContentKey
AssetFile
작업
JobTemplate
로케이터
MediaProcessor
Task
TaskTemplate
Media Services REST API를 사용하여 자산 수집
할당량 및 제한 사항