Filtrování, řazení a stránkování entit
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/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'
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/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
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/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
Vrátí se vám odpověď podobná této:
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"
}
Pak byste požádali o další stránku odesláním žádosti get pro:
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
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/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
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ů:
- Q & A
-
Stack Overflow Označit otázky pomocí
azure-media-services
. - @MSFTAzureMedia nebo použijte @AzureSupport a požádejte o podporu.
- Otevřete lístek podpory prostřednictvím Azure Portal.