Filtern, Sortieren und Paginieren von Entitäten
Warnung
Azure Media Services wird am 30. Juni 2024 eingestellt. Weitere Informationen finden Sie im Leitfaden zur Einstellung von AMS.
In diesem Thema werden die OData-Abfrageoptionen und die Paginierungsunterstützung behandelt, die beim Auflisten von Azure Media Services v3-Entitäten zur Verfügung stehen.
Überlegungen
- Eigenschaften von Entitäten des Typs
Datetime
liegen immer im UTC-Format vor. - Leerzeichen in der Abfragezeichenfolge müssen vor dem Senden einer Anforderung URL-codiert werden.
Vergleichsoperatoren
Sie können die folgenden Operatoren verwenden, um ein Feld mit einem konstanten Wert zu vergleichen:
Gleichheitsoperatoren:
-
eq
: Testet, ob ein Feld gleich einem konstanten Wert ist. -
ne
: Testet, ob ein Feld ungleich einem konstanten Wert ist.
Bereichsoperatoren:
-
gt
: Testet, ob ein Feld größer als ein konstanter Wert ist. -
lt
: Testet, ob ein Feld kleiner als ein konstanter Wert ist. -
ge
: Testet, ob ein Feld größer oder gleich einem konstanten Wert ist. -
le
: Testet, ob ein Feld kleiner oder gleich einem konstanten Wert ist.
Filtern
Verwenden Sie $filter
, um einen OData-Filterparameter anzugeben und nur die Objekte zu suchen, die Sie interessieren.
Im folgenden REST-Beispiel wird nach dem Wert alternateId
einer Ressource gefiltert:
GET https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/mediaresources/providers/Microsoft.Media/mediaServices/amstestaccount/assets?api-version=2018-07-01&$filter=properties/alternateId%20eq%20'unique identifier'
Im folgenden C#-Beispiel wird nach dem Erstellungsdatum der Ressource gefiltert:
var odataQuery = new ODataQuery<Asset>("properties/created lt 2018-05-11T17:39:08.387Z");
var firstPage = await MediaServicesArmClient.Assets.ListAsync(CustomerResourceGroup, CustomerAccountName, odataQuery);
ORDER BY
Verwenden Sie $orderby
, um die zurückgegebenen Objekte anhand des angegebenen Parameters zu sortieren. Beispiel:
GET https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/mediaresources/providers/Microsoft.Media/mediaServices/amstestaccount/assets?api-version=2018-07-01$orderby=properties/created%20gt%202018-05-11T17:39:08.387Z
Um die Ergebnisse in auf- oder absteigender Reihenfolge zu sortieren, fügen Sie entweder asc
oder desc
getrennt durch ein Leerzeichen an den Feldnamen an. Beispiel: $orderby properties/created desc
.
Skiptoken
Wenn die Antwort auf eine Abfrage viele Elemente enthält, gibt der Dienst einen Wert vom Typ $skiptoken
(@odata.nextLink
) zurück, mit dem Sie die nächste Seite der Ergebnisse abrufen können. Verwenden Sie diesen Wert, um das gesamte Resultset seitenweise zu durchlaufen.
In Media Services v3 kann die Seitengröße nicht konfiguriert werden. Die Seitengröße variiert je nach Art der Entität. Lesen Sie die folgenden Abschnitte, um ausführliche Informationen zu erhalten.
Wenn während des Durchlaufens der Sammlung Entitäten erstellt oder gelöscht werden, werden die Änderungen in den zurückgegebenen Ergebnissen berücksichtigt (sofern sich diese Änderungen in dem Teil der Sammlung befinden, der nicht heruntergeladen wurde).
Tipp
Verwenden Sie zum Aufzählen der Sammlung stets nextLink
, anstatt sich auf eine bestimmte Seitengröße zu verlassen.
Der Wert nextLink
ist nur vorhanden, wenn mehrere Seiten mit Entitäten vorliegen.
Sehen Sie sich das folgende Beispiel für die Verwendung von $skiptoken
an. Stellen Sie sicher, dass Sie amstestaccount durch Ihren Kontonamen ersetzen und den Wert für api-version auf die neueste Version festlegen.
Angenommen, Sie fordern wie folgt eine Liste mit Medienobjekten an:
GET https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/mediaresources/providers/Microsoft.Media/mediaServices/amstestaccount/assets?api-version=2018-07-01 HTTP/1.1
x-ms-client-request-id: dd57fe5d-f3be-4724-8553-4ceb1dbe5aab
Content-Type: application/json; charset=utf-8
Sie erhalten eine Antwort ähnlich wie die folgende:
HTTP/1.1 200 OK
{
"value":[
{
"name":"Asset 0","id":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/amstestaccount/assets/Asset 0","type":"Microsoft.Media/mediaservices/assets","properties":{
"assetId":"00000000-0000-0000-0000-000000000000","created":"2018-12-11T22:12:44.98Z","lastModified":"2018-12-11T22:15:48.003Z","container":"asset-00000000-0000-0000-0000-0000000000000","storageAccountName":"amsacctname","storageEncryptionFormat":"None"
}
},
// lots more assets
{
"name":"Asset 517","id":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/amstestaccount/assets/Asset 517","type":"Microsoft.Media/mediaservices/assets","properties":{
"assetId":"00000000-0000-0000-0000-000000000000","created":"2018-12-11T22:14:08.473Z","lastModified":"2018-12-11T22:19:29.657Z","container":"asset-00000000-0000-0000-0000-000000000000","storageAccountName":"amsacctname","storageEncryptionFormat":"None"
}
}
],"@odata.nextLink":"https:// management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/mediaresources/providers/Microsoft.Media/mediaServices/amstestaccount/assets?api-version=2018-07-01&$skiptoken=Asset+517"
}
Danach fordern Sie die nächste Seite an, indem Sie eine get-Anforderung senden:
https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/mediaresources/providers/Microsoft.Media/mediaServices/amstestaccount/assets?api-version=2018-07-01&$skiptoken=Asset+517
Das folgende C#-Beispiel zeigt, wie alle Streaminglocators im Konto aufgezählt werden.
var firstPage = await MediaServicesArmClient.StreamingLocators.ListAsync(CustomerResourceGroup, CustomerAccountName);
var currentPage = firstPage;
while (currentPage.NextPageLink != null)
{
currentPage = await MediaServicesArmClient.StreamingLocators.ListNextAsync(currentPage.NextPageLink);
}
Verwenden logischer Operatoren zum Kombinieren von Abfrageoptionen
Media Services v3 unterstützt die logischen Operatoren OR und AND.
Im folgenden REST-Beispiel wird der Status des Auftrags überprüft:
https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/qbtest/providers/Microsoft.Media/mediaServices/qbtest/transforms/VideoAnalyzerTransform/jobs?$filter=properties/state%20eq%20Microsoft.Media.JobState'Scheduled'%20or%20properties/state%20eq%20Microsoft.Media.JobState'Processing'&api-version=2018-07-01
In C# erstellen Sie die gleiche Abfrage wie folgt:
var odataQuery = new ODataQuery<Job>("properties/state eq Microsoft.Media.JobState'Scheduled' or properties/state eq Microsoft.Media.JobState'Processing'");
client.Jobs.List(config.ResourceGroup, config.AccountName, VideoAnalyzerTransformName, odataQuery);
Filter- und Sortieroptionen für Entitäten
Die folgende Tabelle zeigt, wie Sie die Filter- und Sortieroptionen auf verschiedene Entitäten anwenden können:
Name der Entität | Eigenschaftenname | Filtern | Order |
---|---|---|---|
Medienobjekte | name |
eq , gt , lt , ge , le |
asc und desc |
properties/alternateId | eq |
||
properties/assetId | eq |
||
properties/created |
eq , gt , lt |
asc und desc |
|
Richtlinien für Inhaltsschlüssel | name |
eq , ne , ge , le , gt , lt |
asc und desc |
properties/created |
eq , ne , ge , le , gt , lt |
asc und desc |
|
properties/description |
eq , ne , ge , le , gt , lt |
||
properties/lastModified |
eq , ne , ge , le , gt , lt |
asc und desc |
|
properties/policyId |
eq , ne |
||
Aufträge | name | eq |
asc und desc |
properties/state |
eq , ne |
||
properties/created |
gt , ge , lt , le |
asc und desc |
|
properties/lastModified |
gt , ge , lt , le |
asc und desc |
|
Streaminglocators | name |
eq , ne , ge , le , gt , lt |
asc und desc |
properties/created |
eq , ne , ge , le , gt , lt |
asc und desc |
|
properties/endTime |
eq , ne , ge , le , gt , lt |
asc und desc |
|
Streamingrichtlinien | name |
eq , ne , ge , le , gt , lt |
asc und desc |
properties/created |
eq , ne , ge , le , gt , lt |
asc und desc |
|
Transformationen | name | eq |
asc und desc |
properties/created |
gt , ge , lt , le |
asc und desc |
|
properties/lastModified |
gt , ge , lt , le |
asc und desc |
Anfordern von Hilfe und Support
Sie können Media Services mit Fragen kontaktieren oder unsere Updates mit einer der folgenden Methoden verfolgen:
- Q & A
-
Stack Overflow. Markieren Sie Fragen mit
azure-media-services
. - @MSFTAzureMedia oder verwenden Sie @AzureSupport , um Support anzufordern.
- Öffnen Sie ein Supportticket über die Azure-Portal.