내보내기(0) 인쇄
모두 확장

미디어 서비스 REST API를 사용하여 자산 제공

업데이트 날짜: 2015년 2월

Microsoft Azure 미디어 서비스에서는 클라이언트에게 콘텐츠를 제공할 수 있도록 여러 메커니즘을 제공합니다. 이러한 메커니즘을 사용하여 Blob 저장소 계정에서 콘텐츠를 다운로드하거나 미디어 서비스에서 스트리밍할 수 있습니다.

다음 섹션에서는 클라이언트에게 콘텐츠를 제공하는 방법에 대해 설명합니다.

미디어 콘텐츠 제공과 관련된 개념 및 용어에 대한 자세한 내용은 콘텐츠 배달을 참조하세요.

Important중요
미디어 서비스 REST API를 사용할 때는 다음 사항을 고려해야 합니다.

Important중요
로케이터를 사용하는 경우 다음 고려 사항을 적용하세요.

  • Locator를 만든 후 사용할 수 있는 상태가 될 때까지는 30~40초 정도 시간이 지연될 수 있습니다. 이 문제는 SAS URL 및 Origin Locator 둘 다에 적용됩니다.

  • 지정된 자산과 연결된 고유한 로케이터는 한 번에 6개 이상일 수 없습니다. 자세한 내용은 Locator를 참조하십시오.

  • 미디어 서비스에서는 스트리밍 콘텐츠의 URL 작성 시 IAssetFile.Name 속성의 값을 사용합니다(예: http://{WAMSAccount}.origin.mediaservices.windows.net/{GUID}/{IAssetFile.Name}/streamingParameters). 따라서 퍼센트 인코딩이 허용되지 않습니다. 이름 속성의 값에는 퍼센트 인코딩 예약 문자( !*'();:@ !*'();:@&=+$,/?%#[]")를 사용할 수 없으며, 파일 이름 확장명에 ‘.’를 하나만 사용할 수 있습니다.

미디어 콘텐츠를 다운로드 또는 스트리밍하기 전에 읽기 권한을 사용하여 AccessPolicy를 정의하고 클라이언트에 대해 사용하도록 설정하려는 제공 메커니즘의 유형을 지정하는 적합한 Locator 엔터티를 만듭니다. 사용 가능한 속성에 대한 자세한 내용은 AccessPolicy 엔터티 속성을 참조하세요.

다음 예제는 지정된 자산에 대한 읽기 권한의 AccessPolicy를 지정하는 방법을 보여 줍니다.

POST https://media.windows.net/API/AccessPolicies HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.5
Authorization: Bearer http%3a%2f%2fschemas.xmlsoap.org%2fws%2f2005%2f05%2fidentity%2fclaims%2fnameidentifier=youraccountname&urn%3aSubscriptionId=2f84471d-b1ae-4e75-aa09-010f0fc0cf5b&http%3a%2f%2fschemas.microsoft.com%2faccesscontrolservice%2f2010%2f07%2fclaims%2fidentityprovider=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&Audience=urn%3aWindowsAzureMediaServices&ExpiresOn=1337067658&Issuer=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=dithjGvlXR9HlyAf5DE99N5OCYkPAxsHIcsTSjm9%2fVE%3d
Host: media.windows.net
Content-Length: 74
Expect: 100-continue

{"Name": "DownloadPolicy", "DurationInMinutes" : "300", "Permissions" : 1}

성공적으로 실행되면 만든 AccessPolicy 엔터티를 설명하는 201 성공 코드가 반환됩니다. 그런 다음 제공하려는 파일이 포함된 자산(예: 출력 자산)의 자산 ID와 함께 AccessPolicy ID를 사용하여 Locator 엔터티를 만듭니다.

note참고
이 기본 워크플로는 자산 수집 시 파일을 업로드하는 것과 동일합니다. 파일 업로드에 대한 자세한 내용은 Blob 저장소에 파일 업로드를 참조하세요. 또한 파일 업로드와 마찬가지로 귀하 또는 귀하의 클라이언트가 즉시 파일에 액세스하여 StartTime 값을 현재 시간보다 5분 전에 설정해야 합니다. 이 작업은 클라이언트와 미디어 서비스 간에 클록 스큐(clock skew)가 있을 수 있기 때문에 필요합니다. StartTime 값은 다음 DateTime 형식이어야 합니다. YYYY-MM-DDTHH:mm:ssZ 형식이어야 합니다(예: "2014-05-23T17:53:50Z").

다음 코드는 이전에 만들어 업로드한 미디어 파일을 다운로드하는 방법을 보여 줍니다. AccessPolicy에는 읽기 권한 집합이 있고 로케이터 경로는 SAS 다운로드 URL을 참조합니다.

POST https://media.windows.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.5
Authorization: Bearer http%3a%2f%2fschemas.xmlsoap.org%2fws%2f2005%2f05%2fidentity%2fclaims%2fnameidentifier=youraccountname&urn%3aSubscriptionId=2f84471d-b1ae-4e75-aa09-010f0fc0cf5b&http%3a%2f%2fschemas.microsoft.com%2faccesscontrolservice%2f2010%2f07%2fclaims%2fidentityprovider=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&Audience=urn%3aWindowsAzureMediaServices&ExpiresOn=1337067658&Issuer=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=dithjGvlXR9HlyAf5DE99N5OCYkPAxsHIcsTSjm9%2fVE%3d
Host: media.windows.net
Content-Length: 182
Expect: 100-continue

{"AccessPolicyId": "nb:pid:UUID:38c71dd0-44c5-4c5f-8418-08bb6fbf7bf8", "AssetId" : "nb:cid:UUID:eb5540a2-116e-4d36-b084-7e9958f7f3c3", "StartTime" : "2014-05-17T16:45:53", "Type":1}

성공적으로 실행되면 다음 응답이 반환됩니다.

HTTP/1.1 201 Created
Cache-Control: no-cache
Content-Length: 1150
Content-Type: application/json;odata=verbose;charset=utf-8
Location: https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A8e5a821d-2194-4d00-8884-adf979856874')
Server: Microsoft-IIS/7.5
x-ms-request-id: 8cfd8556-3064-416a-97f2-67d9e35f0911
X-Content-Type-Options: nosniff
DataServiceVersion: 1.0;
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Mon, 14 May 2012 21:41:32 GMT

{"d":{"__metadata":{"id":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A8e5a821d-2194-4d00-8884-adf979856874')","uri":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A8e5a821d-2194-4d00-8884-adf979856874')","type":"Microsoft.Cloud.Media.Vod.Rest.Data.Models.Locator"},"AccessPolicy":{"__deferred":{"uri":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A8e5a821d-2194-4d00-8884-adf979856874')/AccessPolicy"}},"Asset":{"__deferred":{"uri":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A8e5a821d-2194-4d00-8884-adf979856874')/Asset"}},"Id":"nb:lid:UUID:8e5a821d-2194-4d00-8884-adf979856874","ExpirationDateTime":"\/Date(1337049393000)\/","Type":1,"Path":"https://yourstorageaccount.blob.core.windows.net/asset-3df042ec-a396-4c62-a217-16c7a2569640?st=2012-05-14T21%3A36%3A33Z&se=2012-05-15T02%3A36%3A33Z&sr=c&si=8e5a821d-2194-4d00-8884-adf979856874&sig=y75dViDpC5V8WutrXM%2B%2FGpR3uOtqmlISiNlHU1YUBOg%3D","AccessPolicyId":"nb:pid:UUID:38c71dd0-44c5-4c5f-8418-08bb6fbf7bf8","AssetId":"nb:cid:UUID:eb5540a2-116e-4d36-b084-7e9958f7f3c3","StartTime":"\/Date(1337031393000)\/"}}

경로 속성은 요청에서 지정한 자산 ID의 SAS URL을 참조합니다. 파일을 다운로드하려면 다운로드하기 전에 SAS URL에서 다운로드하려는 콘텐츠의 파일 이름을 추가합니다.

다음 예제는 웹 브라우저를 사용하여 Blob 저장소에서 파일을 다운로드하는 방법을 보여 줍니다.

GET https://yourstorageaccount.blob.core.windows.net/asset-3df042ec-a396-4c62-a217-16c7a2569640/samplevid.wmv?st=2012-05-14T21%3A36%3A33Z&se=2012-05-15T02%3A36%3A33Z&sr=c&si=8e5a821d-2194-4d00-8884-adf979856874&sig=y75dViDpC5V8WutrXM%2B%2FGpR3uOtqmlISiNlHU1YUBOg%3D HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: en-US
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Host: yourstorageaccount.blob.core.windows.net
Connection: Keep-Alive

성공적으로 실행되면 다음 응답이 반환됩니다.

HTTP/1.1 200 OK
Content-Length: 4045744
Content-Type: application/octet-stream
Last-Modified: Mon, 14 May 2012 21:41:26 GMT
ETag: 0x8CF00317343F6D8
Server: Blob Service Version 1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: da01ef74-7bf6-4837-b36d-8a6c08a26c3f
Date: Mon, 14 May 2012 22:02:45 GMT

??v?3?????>1?p????m.?v9?/??s?a?(C?D?
wsh?1hfN??C?V??,?-?sd??:?j?dCfT?,?6????8?f?p??o??"?????6C??q?????KbP???w*????i
[Remaining data truncated for readability.]
Important중요
저장소 암호화된 콘텐츠를 다운로드하는 경우 렌더링하기 전에 콘텐츠를 수동으로 암호 해독하거나, 처리 작업에서 저장소 암호 해독 미디어 프로세서를 사용하여 암호화되지 않은 상태로 처리된 파일을 OutputAsset으로 출력한 다음 해당 자산에서 다운로드해야 합니다. 처리에 대한 자세한 내용은 Process Assets with the Media Services REST API를 참조하세요. 또한 만든 뒤에는 SAS URL Locator를 업데이트할 수 없습니다. 예를 들어 업데이트된 StartTime 값과 동일한 로케이터를 다시 사용할 수 없습니다. 이는 SAS URL을 만든 방식 때문입니다. 로케이터가 만료된 후 다운로드를 위해 자산에 액세스하려는 경우 새 StartTime을 사용하여 로케이터를 새로 만들어야 합니다.

원본 URL Locator와 SAS URL Locator를 만들 때 유일한 차이점은 "Type" 값입니다. 스트리밍하려는 콘텐츠가 MP4에서 부드러운 스트리밍 형식(.ism*)으로 변환되어야 합니다. 후자는 처리 작업에서 MP4-부드러운 스트리밍 미디어 프로세서를 사용하여 수행할 수 있습니다. iOS 장치로 스트리밍하려면 부드러운 스트리밍-HLS 미디어 프로세서를 사용하는 처리 작업을 추가하여 이러한 장치를 스트리밍하는 데 필요한 파일이 포함된 출력 자산을 만들어야 합니다. 작업 연결에 대한 예는 작업 만들기를 참조하세요. SAS URL Locator와 달리 Origin Locator는 생성 후 새 StartTime 값으로 업데이트할 수 있습니다. 로케이터와 로케이터 업데이트 방법에 대한 자세한 내용은 Locator를 참조하세요.

다음 코드는 원본 URL Locator를 만드는 방법을 보여 줍니다.

POST https://media.windows.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.5
Authorization: Bearer http%3a%2f%2fschemas.xmlsoap.org%2fws%2f2005%2f05%2fidentity%2fclaims%2fnameidentifier=youraccountname&urn%3aSubscriptionId=2f84471d-b1ae-4e75-aa09-010f0fc0cf5b&http%3a%2f%2fschemas.microsoft.com%2faccesscontrolservice%2f2010%2f07%2fclaims%2fidentityprovider=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&Audience=urn%3aWindowsAzureMediaServices&ExpiresOn=1337067658&Issuer=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=dithjGvlXR9HlyAf5DE99N5OCYkPAxsHIcsTSjm9%2fVE%3d
Host: media.windows.net
Content-Length: 182
Expect: 100-continue

{"AccessPolicyId": "nb:pid:UUID:38c71dd0-44c5-4c5f-8418-08bb6fbf7bf8", "AssetId" : "nb:cid:UUID:eb5540a2-116e-4d36-b084-7e9958f7f3c3", "StartTime" : "2014-05-17T16:45:53",, "Type":2}

성공적으로 실행되면 다음 응답이 반환됩니다.

HTTP/1.1 201 Created
Cache-Control: no-cache
Content-Length: 981
Content-Type: application/json;odata=verbose;charset=utf-8
Location: https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A52034bf6-dfae-4d83-aad3-3bd87dcb1a5d')
Server: Microsoft-IIS/7.5
x-ms-request-id: 2eac4158-fc78-4fa2-81ee-c9f582dc385f
X-Content-Type-Options: nosniff
DataServiceVersion: 1.0;
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Mon, 14 May 2012 21:41:39 GMT

{"d":{"__metadata":{"id":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A52034bf6-dfae-4d83-aad3-3bd87dcb1a5d')","uri":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A52034bf6-dfae-4d83-aad3-3bd87dcb1a5d')","type":"Microsoft.Cloud.Media.Vod.Rest.Data.Models.Locator"},"AccessPolicy":{"__deferred":{"uri":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A52034bf6-dfae-4d83-aad3-3bd87dcb1a5d')/AccessPolicy"}},"Asset":{"__deferred":{"uri":"https://media.windows.net/api/Locators('nb%3Alid%3AUUID%3A52034bf6-dfae-4d83-aad3-3bd87dcb1a5d')/Asset"}},"Id":"nb:lid:UUID:52034bf6-dfae-4d83-aad3-3bd87dcb1a5d","ExpirationDateTime":"\/Date(1337049395000)\/","Type":2,"Path":"http://media.windows.net/52034bf6-dfae-4d83-aad3-3bd87dcb1a5d/","AccessPolicyId":"nb:pid:UUID:38c71dd0-44c5-4c5f-8418-08bb6fbf7bf8","AssetId":"nb:cid:UUID:eb5540a2-116e-4d36-b084-7e9958f7f3c3","StartTime":"\/Date(1337031395000)\/"}}

스트리밍 미디어 플레이어에서 부드러운 스트리밍 원본 URL을 참조하려면 "/manifest"가 뒤따라 오는 부드러운 스트리밍 매니페스트 파일의 이름으로 경로 속성을 추가해야 합니다. 예를 들어 이전 예제에서 보여준 원본 URL을 사용하는 경우 부드러운 스트리밍 클라이언트에서 사용하는 실제 URL은 http://media.windows.net/52034bf6-dfae-4d83-aad3-3bd87dcb1a5d/samplevid.ism/manifest입니다. HLS 클라이언트의 경우 이 예제는 http://media.windows.net/52034bf6-dfae-4d83-aad3-3bd87dcb1a5d/samplevid.isml/manifest(format=m3u8-aapl)일 수 있습니다.

note참고
이 섹션에서는 http://media.windows.net URI가 경로 값에서 예로 사용됩니다. 실제 값은 연결된 미디어 서비스 배포에 따라 다릅니다.

참고 항목

표시:
© 2015 Microsoft