Filtrowanie, porządkowanie i stronicowanie jednostek

Logo usługi Media Services w wersji 3


Ostrzeżenie

Usługa Azure Media Services zostanie wycofana 30 czerwca 2024 r. Aby uzyskać więcej informacji, zobacz Przewodnik po wycofaniu usługi AMS.

W tym temacie omówiono opcje zapytań OData i obsługę stronicowania dostępne podczas wyświetlania listy jednostek usługi Azure Media Services w wersji 3.

Zagadnienia do rozważenia

  • Właściwości jednostek, które są typu, są Datetime zawsze w formacie UTC.
  • Białe znaki w ciągu zapytania powinny być zakodowane pod adresem URL przed wysłaniem żądania.

Operatory porównania

Następujące operatory umożliwiają porównanie pola z wartością stałą:

Operatory równości:

  • eq: Sprawdź, czy pole jest równe stałej wartości.
  • ne: Sprawdź, czy pole nie jest równe stałej wartości.

Operatory zakresu:

  • gt: Sprawdź, czy pole jest większe niż wartość stała.
  • lt: Sprawdź, czy pole jest mniejsze niż wartość stała.
  • ge: Sprawdź, czy pole jest większe, czy równe stałej wartości.
  • le: Sprawdź, czy pole jest mniejsze niż lub równe stałej wartości.

Filtr

Użyj $filter polecenia , aby podać parametr filtru OData, aby znaleźć tylko interesujące Cię obiekty.

Poniższy przykład REST filtruje wartość alternateId zasobu:

GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mediaresources/providers/Microsoft.Media/mediaServices/amstestaccount/assets?api-version=2018-07-01&$filter=properties/alternateId%20eq%20'unique identifier'

Poniższy przykład języka C# filtruje datę utworzenia zasobu:

var odataQuery = new ODataQuery<Asset>("properties/created lt 2018-05-11T17:39:08.387Z");
var firstPage = await MediaServicesArmClient.Assets.ListAsync(CustomerResourceGroup, CustomerAccountName, odataQuery);

Zamów według

Służy $orderby do sortowania zwracanych obiektów według określonego parametru. Na przykład:

GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mediaresources/providers/Microsoft.Media/mediaServices/amstestaccount/assets?api-version=2018-07-01$orderby=properties/created%20gt%202018-05-11T17:39:08.387Z

Aby posortować wyniki w kolejności rosnącej lub malejącej, dołącz asc nazwę pola lub desc do nazwy pola oddzieloną spacją. Na przykład: $orderby properties/created desc.

Pomiń token

Jeśli odpowiedź zapytania zawiera wiele elementów, usługa zwraca $skiptoken wartość (@odata.nextLink), która jest używana do uzyskania następnej strony wyników. Służy do stronicowania całego zestawu wyników.

W usłudze Media Services w wersji 3 nie można skonfigurować rozmiaru strony. Rozmiar strony zależy od typu jednostki. Zapoznaj się z poszczególnymi sekcjami, które należy wykonać, aby uzyskać szczegółowe informacje.

Jeśli jednostki są tworzone lub usuwane podczas stronicowania w kolekcji, zmiany zostaną odzwierciedlone w zwróconych wynikach (jeśli te zmiany znajdują się w części kolekcji, która nie została pobrana).

Porada

Zawsze używaj polecenia nextLink , aby wyliczyć kolekcję i nie zależy od określonego rozmiaru strony.

Wartość nextLink będzie obecna tylko wtedy, gdy istnieje więcej niż jedna strona jednostek.

Rozważmy poniższy przykład, gdzie $skiptoken jest używany. Upewnij się, że zastąp ciąg amstestaccount nazwą konta i ustaw wartość api-version na najnowszą wersję.

Jeśli zażądasz listy zasobów, takich jak:

GET  https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/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

Otrzymasz odpowiedź podobną do następującej:

HTTP/1.1 200 OK

{
"value":[
{
"name":"Asset 0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/resourceGroups/mediaresources/providers/Microsoft.Media/mediaServices/amstestaccount/assets?api-version=2018-07-01&$skiptoken=Asset+517"
}

Następnie zażądasz następnej strony, wysyłając żądanie pobrania dla:

https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mediaresources/providers/Microsoft.Media/mediaServices/amstestaccount/assets?api-version=2018-07-01&$skiptoken=Asset+517

W poniższym przykładzie języka C# pokazano, jak wyliczać wszystkie lokalizatory przesyłania strumieniowego na koncie.

var firstPage = await MediaServicesArmClient.StreamingLocators.ListAsync(CustomerResourceGroup, CustomerAccountName);

var currentPage = firstPage;
while (currentPage.NextPageLink != null)
{
    currentPage = await MediaServicesArmClient.StreamingLocators.ListNextAsync(currentPage.NextPageLink);
}

Łączenie opcji zapytań przy użyciu operatorów logicznych

Usługa Media Services w wersji 3 obsługuje operatory LOGICZNE OR i AND .

Poniższy przykład REST sprawdza stan zadania:

https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/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

To samo zapytanie jest tworzone w języku C# w następujący sposób:

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);

Opcje filtrowania i porządkowania jednostek

W poniższej tabeli przedstawiono sposób stosowania opcji filtrowania i porządkowania do różnych jednostek:

Nazwa jednostki Nazwa właściwości Filtr Zamówienie
Elementy zawartości name eq, gt, lt, ge, le asc i desc
properties/alternateId eq
properties/assetId eq
properties/created eq, gt, lt asc i desc
Zasady kluczy zawartości name eq, ne, ge, le, gt, lt asc i desc
properties/created eq, ne, ge, le, gt, lt asc i desc
properties/description eq, ne, ge, le, gt, lt
properties/lastModified eq, ne, ge, le, gt, lt asc i desc
properties/policyId eq, ne
Zadania name eq asc i desc
właściwości/stan eq, ne
properties/created gt, ge, lt, le asc i desc
properties/lastModified gt, ge, lt, le asc i desc
Lokalizatory przesyłania strumieniowego name eq, ne, ge, le, gt, lt asc i desc
properties/created eq, ne, ge, le, gt, lt asc i desc
properties/endTime eq, ne, ge, le, gt, lt asc i desc
Zasady przesyłania strumieniowego name eq, ne, ge, le, gt, lt asc i desc
properties/created eq, ne, ge, le, gt, lt asc i desc
Przekształcenia name eq asc i desc
properties/created gt, ge, lt, le asc i desc
properties/lastModified gt, ge, lt, le asc i desc

Uzyskiwanie pomocy i obsługi technicznej

Możesz skontaktować się z usługą Media Services z pytaniami lub postępować zgodnie z naszymi aktualizacjami, korzystając z jednej z następujących metod: