Filtrowanie, porządkowanie i stronicowanie jednostek
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/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'
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/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
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/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
Otrzymasz odpowiedź podobną do następującej:
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"
}
Następnie zażądasz następnej strony, wysyłając żądanie pobrania dla:
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
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/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
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:
- Q & A
-
Stack Overflow. Tagowanie pytań przy użyciu polecenia
azure-media-services
. - @MSFTAzureMedia lub użyj @AzureSupport , aby poprosić o pomoc techniczną.
- Otwórz bilet pomocy technicznej za pośrednictwem Azure Portal.