Exportar (0) Imprimir
Expandir todo

Conexión a Servicios multimedia con la API de REST de Servicios multimedia

Actualizado: abril de 2014

Para acceder a Servicios multimedia de Microsoft Azure se necesitan dos cosas: Un token de acceso que haya proporcionado el Servicios de control de acceso (ACS) de Azure y el URI de Media Services. Puede usar los métodos que quiera para crear estas solicitudes, siempre que especifique los valores de encabezado adecuados y pase el token de acceso correctamente al llamar a Media Services.

Los pasos siguientes describen el flujo de trabajo más común al usar la API de REST de Media Services para conectarse a Media Services:

  1. Obtención de un token de acceso

  2. Conexión al URI de Servicios multimedia

    ImportantImportante
    Después de conectarse correctamente a https://media.windows.net, recibirá una redirección 301 que especifica otro URI de Servicios multimedia. Debe realizar llamadas subsecuentes a la nueva URI.

    Puede que también reciba una respuesta HTTP/1.1 200 que contenga la descripción de los metadatos de la API ODATA.

  3. Publique las llamadas a la API subsiguientes en la nueva dirección URL.

    Por ejemplo, si después de conectarse, obtiene lo siguiente:

    HTTP/1.1 301 Moved Permanently
    Location: https://wamsbayclus001rest-hs.cloudapp.net/api/
    
    
    Debe publicar las llamadas a la API subsiguientes en https://wamsbayclus001rest-hs.cloudapp.net/api/.

Para acceder a Media Services directamente mediante la API de REST, recupere un token de acceso de ACS y úselo durante toda solicitud HTTP que haga al servicio. Este token es similar a otros tokens proporcionados por ACS según las declaraciones de acceso proporcionadas en el encabezado de una solicitud HTTP y con el protocolo OAuth v2. No necesita ningún otro requisito previo antes de conectarse directamente a Media Services.

El ejemplo siguiente muestra el encabezado y el cuerpo de la solicitud HTTP usados para recuperar un token:

POST https://wamsprodglobal001acs.accesscontrol.windows.net/v2/OAuth2-13 HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: wamsprodglobal001acs.accesscontrol.windows.net
Content-Length: 120
Expect: 100-continue
Connection: Keep-Alive

grant_type=client_credentials&client_id=client id value&client_secret=URL-encoded client secret value&scope=urn%3aWindowsAzureMediaServices

ImportantImportante
Servicios multimedia le indica client_id y client_secret cuando configura la cuenta. Corresponden a los valores AccountName y AccountKey, respectivamente. Para más información, vea las instrucciones de configuración de cuentas de Servicios multimedia. Además, el valor AccountKey para su cuenta de Media Services debe codificarse por dirección URL cuando la usa como valor client_secret en su solicitud de token de acceso.

El ejemplo siguiente muestra la respuesta HTTP que contiene el token de acceso en el cuerpo de la respuesta.

HTTP/1.1 200 OK
Cache-Control: public, no-store, max-age=0
Content-Type: application/json; charset=utf-8
Expires: Fri, 13 Jan 2012 22:40:07 GMT
Last-Modified: Fri, 13 Jan 2012 22:40:07 GMT
Vary: *
Server: Microsoft-IIS/7.5
Set-Cookie: ASP.NET_SessionId=w3mtu2rnxucaz5tvj0iyfm0t; path=/; HttpOnly
X-AspNetMvc-Version: 2.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
X-Content-Type-Options: nosniff
Date: Fri, 13 Jan 2012 22:40:07 GMT
Content-Length: 580

{"access_token":"http%3a%2f%2fschemas.xmlsoap.org%2fws%2f2005%2f05%2fidentity%2fclaims%2fnameidentifier=client_id&http%3a%2f%2fschemas.microsoft.com%2faccesscontrolservice%2f2010%2f07%2fclaims%2fidentityprovider=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&Audience=urn%3aWindowsAzureMediaServices&ExpiresOn=1326498007&Issuer=https%3a%2f%2f wamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=hV1WF7sTe%2ffoHqzK%2ftmnwQY22NRPaDytcOOpC9Nv4DA%3d","token_type":"http://schemas.xmlsoap.org/ws/2009/11/swt-token-profile-1.0","expires_in":"3599","scope":"urn:WindowsAzureMediaServices"}

ImportantImportante
Se recomienda almacenar los valores "access_token" y "expires_in" en caché en un almacenamiento externo. Los datos de token se pueden recuperar desde el almacenamiento y reutilizar en las llamadas de la API de REST de Servicios multimedia. Esto resulta especialmente útil en los escenarios en los que el token se puede compartir de modo seguro entre varios procesos o equipos.

Asegúrese de controlar el valor "expires_in" del token de acceso y actualizar las llamadas de la API de REST con nuevos tokens, según sea necesario.

El URI raíz de Servicios multimedia es https://media.windows.net/. En un principio, debe conectarse a este URI y, si recibe una respuesta de redirección 301, debe hacer llamadas subsiguientes al nuevo URI. Además, no use ninguna lógica de redireccionamiento automático/seguimiento en las solicitudes. Los verbos y los cuerpos de las solicitudes HTTP no se reenviarán al nuevo URI.

El URI raíz para cargar y descargar archivos de Asset es https://sucuentadealmacenamiento.blob.core.windows.net/, donde el nombre de la cuenta de almacenamiento es la que usó durante la configuración de la cuenta de Media Services.

En el ejemplo de código siguiente se muestra cómo crear un Asset en Media Services. Tenga en cuenta que el mecanismo de autorización real que pasa en el encabezado de la solicitud es un token de portador OAuth v2.

POST https://media.windows.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.6
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=1335602357&Issuer=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=XQs5T%2fEfdO39%2f0Z9%2fBBkA12%2bbUUEY21YyefWXuRYZlY%3d
Host: media.windows.net
Content-Length: 27
Expect: 100-continue

{ "Name" : "NewJSONAsset" }
TipSugerencia
Para que las entidades de Media Services se puedan detectar mejor, se puede usar la operación $metadata. Le permite recuperar todos los tipos de entidad válidos, las propiedades de las entidades, las asociaciones, las funciones, las acciones, etc. En el ejemplo siguiente se muestra cómo construir el URI: https://media.windows.net/API/$metadata.

Debe anexar "?api-version=2.5" al final del URI si quiere ver los metadatos en un explorador, o si no incluyó el encabezado x-ms-version en la solicitud.

Vea también

Mostrar:
© 2014 Microsoft