Filtrování, řazení a stránkování entit

Logo Media Services v3


Upozornění

Služba Azure Media Services bude vyřazena 30. června 2024. Další informace najdete v průvodci vyřazením AMS.

Toto téma popisuje možnosti dotazů OData a podporu stránkování, které jsou k dispozici při výpisu entit Azure Media Services v3.

Požadavky

  • Vlastnosti entit, které jsou Datetime typu, jsou vždy ve formátu UTC.
  • Prázdné znaky v řetězci dotazu by měly být před odesláním požadavku zakódované na adrese URL.

Relační operátory

K porovnání pole s konstantní hodnotou můžete použít následující operátory:

Operátory rovnosti:

  • eq: Otestujte, jestli se pole rovná konstantní hodnotě.
  • ne: Otestujte, jestli se pole nerovná konstantní hodnotě.

Operátory rozsahu:

  • gt: Otestujte, jestli je pole větší než konstantní hodnota.
  • lt: Otestujte, jestli je pole menší než konstantní hodnota.
  • ge: Otestujte, jestli je pole větší než nebo rovno konstantní hodnotě.
  • le: Otestujte, jestli je pole menší než nebo rovno konstantní hodnotě.

Filtrovat

Použijte $filter k zadání parametru filtru OData, abyste našli jenom objekty, které vás zajímají.

Následující příklad REST filtruje alternateId hodnotu prostředku:

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'

Následující příklad jazyka C# filtruje datum vytvoření prostředku:

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

Řadit podle

Slouží $orderby k seřazení vrácených objektů podle zadaného parametru. Příklad:

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

Pokud chcete výsledky seřadit vzestupně nebo sestupně, připojte asc buď nebo desc k názvu pole odděleného mezerou. Příklad: $orderby properties/created desc.

Přeskočit token

Pokud odpověď na dotaz obsahuje mnoho položek, vrátí $skiptoken služba hodnotu (@odata.nextLink), kterou použijete k získání další stránky výsledků. Použijte ho k procházení celé sady výsledků.

Ve službě Media Services v3 nemůžete konfigurovat velikost stránky. Velikost stránky se liší podle typu entity. Podrobnosti najdete v jednotlivých částech, které následují.

Pokud se během stránkování kolekce vytvoří nebo odstraní entity, změny se projeví ve vrácených výsledcích (pokud jsou tyto změny v části kolekce, která nebyla stažena).

Tip

Vždy použijte nextLink k vytvoření výčtu kolekce a nezávisí na konkrétní velikosti stránky.

Hodnota nextLink bude k dispozici pouze v případě, že existuje více než jedna stránka entit.

Podívejte se na následující příklad, kde $skiptoken se používá. Ujistěte se, že jste amstestaccount nahradili názvem svého účtu a nastavili hodnotu api-version na nejnovější verzi.

Pokud požádáte o seznam prostředků, jako je tento:

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

Vrátí se vám odpověď podobná této:

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"
}

Pak byste požádali o další stránku odesláním žádosti get pro:

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

Následující příklad jazyka C# ukazuje, jak zobrazit výčet všech lokátorů streamování v účtu.

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

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

Použití logických operátorů ke kombinování možností dotazu

Služba Media Services v3 podporuje logické operátory OR a AND .

Následující příklad REST zkontroluje stav úlohy:

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

Stejný dotaz v jazyce C# vytvoříte takto:

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

Možnosti filtrování a řazení entit

Následující tabulka ukazuje, jak můžete použít možnosti filtrování a řazení u různých entit:

Název entity Název vlastnosti Filtrovat Objednávka
Aktiva name eq, gt, lt, ge, le asc a desc
properties/alternateId eq
properties/assetId eq
properties/created eq, gt, lt asc a desc
Zásady symetrických klíčů name eq, ne, ge, le, gt, lt asc a desc
properties/created eq, ne, ge, le, gt, lt asc a desc
vlastnosti/popis eq, ne, ge, le, gt, lt
properties/lastModified eq, ne, ge, le, gt, lt asc a desc
properties/policyId eq, ne
Úlohy name eq asc a desc
vlastnosti/stav eq, ne
properties/created gt, ge, lt, le asc a desc
properties/lastModified gt, ge, lt, le asc a desc
Lokátory streamování name eq, ne, ge, le, gt, lt asc a desc
properties/created eq, ne, ge, le, gt, lt asc a desc
properties/endTime eq, ne, ge, le, gt, lt asc a desc
Zásady streamování name eq, ne, ge, le, gt, lt asc a desc
properties/created eq, ne, ge, le, gt, lt asc a desc
Transformace name eq asc a desc
properties/created gt, ge, lt, le asc a desc
properties/lastModified gt, ge, lt, le asc a desc

Získání nápovědy a podpory

Media Services můžete kontaktovat s dotazy nebo sledovat naše aktualizace jedním z následujících způsobů: