Verwalten von Medienobjekten mit der Media Services REST-API
Windows Azure Media Services ist ein REST-basierter Dienst, der auf OData v3 aufbaut. Aus diesem Grund können Sie Entitäten auf ähnliche Weise wie in jedem anderen OData-Dienst hinzufügen, abfragen, aktualisieren und löschen. Auf Ausnahmen wird ggf. hingewiesen. Weitere Informationen zu OData finden Sie unter Open Data Protocol-Dokumentation.
Wichtig |
|---|
| Nach einer erfolgreichen Verbindungsherstellung mit "https://media.windows.net" werden Sie per "301 Redirect" an einen anderen Mediendienste-URI umgeleitet. Nachfolgende Aufrufe müssen diesen neuen URI verwenden. |
Hinzufügen von Entitäten
Jede Entität in Media Services wird einer Entitätssammlung (z. B. Medienobjekten) über eine POST HTTP-Anforderung hinzugefügt.
Das folgende Beispiel zeigt, wie eine AccessPolicy erstellt wird.
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.1
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}
Einige Entitäten können nicht direkt über eine POST-Anforderung erstellt werden. Diese Entitäten (z. B. Aufgaben) müssen stattdessen im Kontext der Erstellung einer anderen Entität (z. B. eines Auftrags) erstellt werden. Diese Aktion erfolgt durch eine Inlinedarstellung oder Batchverarbeitung. Unter Erstellen eines Auftrags finden Sie ein Beispiel für das Erstellen einer Aufgabenentität durch Inlinedarstellung.
Abfragen von Entitäten
Das Abfragen und Auflisten von Entitäten ist einfach und bedarf nur einer GET HTTP-Anforderung sowie optionaler OData-Vorgänge.
Das folgende Beispiel ruft eine Liste aller MediaProcessor-Entitäten ab.
GET https://media.windows.net/API/MediaProcessors HTTP/1.1 Content-Type: application/json;odata=verbose Accept: application/json;odata=verbose DataServiceVersion: 3.0 MaxDataServiceVersion: 3.0 x-ms-version: 2.1 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=1337078831&Issuer=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=suFkxhvPWxQVMjOYelOJfYEWkyTWJCBc02pF0N7NghI%3d Host: media.windows.net
Sie können auch eine bestimmte Entität oder alle Entitätssammlungen abrufen, die einer bestimmten Entität zugeordnet sind. Die folgenden Beispiele zeigen dies:
GET https://media.windows.net/API/JobTemplates('nb:jtid:UUID:e81192f5-576f-b247-b781-70a790c20e7c') HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.1
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=1336907474&Issuer=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=OpuY0CeTylqFFcFaP4pKUVGesT4PGx4CP55zDf2zXnc%3d
Host: media.windows.net
GET https://media.windows.net/API/JobTemplates('nb:jtid:UUID:e81192f5-576f-b247-b781-70a790c20e7c')/TaskTemplates HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.1
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=1336907474&Issuer=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=OpuY0CeTylqFFcFaP4pKUVGesT4PGx4CP55zDf2zXnc%3d
Host: media.windows.net
Im folgenden Beispiel wird nur die Eigenschaft State aller Aufträge zurückgegeben.
GET https://media.windows.net/API/Jobs?$select=State HTTP/1.1 Content-Type: application/json;odata=verbose Accept: application/json;odata=verbose DataServiceVersion: 3.0 MaxDataServiceVersion: 3.0 x-ms-version: 2.1 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=1337078831&Issuer=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=suFkxhvPWxQVMjOYelOJfYEWkyTWJCBc02pF0N7NghI%3d Host: media.windows.net
Im folgenden Beispiel werden alle JobTemplates mit dem Namen "SampleTemplate" zurückgegeben.
GET https://media.windows.net/API/JobTemplates?$filter=startswith(Name,%20'SampleTemplate') HTTP/1.1 Content-Type: application/json;odata=verbose Accept: application/json;odata=verbose DataServiceVersion: 3.0 MaxDataServiceVersion: 3.0 x-ms-version: 2.1 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=1337078831&Issuer=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=suFkxhvPWxQVMjOYelOJfYEWkyTWJCBc02pF0N7NghI%3d Host: media.windows.net
Wichtig |
|---|
| Der Vorgang $expand sowie die nicht unterstützten LINQ-Methoden, die in Erwägungen zu LINQ (WCF-Datendienste) beschrieben werden, werden in Media Services nicht unterstützt. |
Aktualisieren von Entitäten
Abhängig vom Entitätstyp und dem jeweiligen Status können Sie Eigenschaften für die betreffende Entität über eine MERGE HTTP-Anforderung aktualisieren. In der folgenden Tabelle wird beschrieben, welche Entitäten wann aktualisiert werden können.
| Entität | Aktualisierbar | Kommentare |
|---|---|---|
|
Asset |
Ja |
Kann nur vor der Veröffentlichung aktualisiert werden. |
|
AccessPolicy |
Nein |
Keiner. |
|
ContentKey |
Nein |
Keiner. |
|
File |
Ja |
Kann nur aktualisiert werden, nachdem CreateFileInfo aufgerufen wurde und anfängliche Eigenschaftenwerte der Dateientität mit Daten aufgefüllt wurden. |
|
Locator |
Ja |
SASL-URL-Locator können nicht aktualisiert werden, Ursprungs- und CDN-Locator hingegen können aktualisiert werden. |
|
MediaProcessor |
Nein |
Keiner. |
|
Job |
Nein |
Keiner. |
|
JobTemplate |
Nein |
Keiner. |
|
Aufgaben |
Nein |
Keiner. |
|
TaskTemplate |
Nein |
Keiner. |
Im folgenden Codebeispiel wird das Aktualisieren der Eigenschaft Name für eine Medienobjektentität gezeigt.
MERGE https://media.windows.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.1
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=1337083279&Issuer=https%3a%2f%2fwamsprodglobal001acs.accesscontrol.windows.net%2f&HMACSHA256=DMLQXWah4jO0icpfwyws5k%2b1aCDfz9KDGIGao20xk6g%3d
Host: media.windows.net
Content-Length: 21
Expect: 100-continue
{"Name" : "NewName" }
Löschen von Entitäten
Entitäten können in Media Services mithilfe einer DELETE HTTP-Anforderung gelöscht werden. Abhängig von der Entität ist ggf. die Reihenfolge wichtig, in der Sie Entitäten löschen. Entitäten wie etwa Medienobjekte erfordern das Aufrufen (oder Löschen) aller Locator, die auf das betreffende Medienobjekt verweisen, bevor das Medienobjekt gelöscht wird.
Das folgende Beispiel veranschaulicht, wie ein Locator gelöscht wird, der zum Hochladen einer Datei in den Blob-Speicher verwendet wurde.
DELETE https://media.windows.net/API/Locators('nb:lid:UUID:76dcc8e8-4230-463d-97b0-ce25c41b5c8d') HTTP/1.1
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 3.0
MaxDataServiceVersion: 3.0
x-ms-version: 2.1
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: 0
Siehe auch
Konzepte
Überlegungen zu Media ServicesWeitere Ressourcen
REST API-Referenz zu Windows Azure Media Services
Builddatum:
Wichtig