Entiteiten filteren, ordenen en paging
Waarschuwing
Azure Media Services wordt op 30 juni 2024 buiten gebruik gesteld. Zie de handleiding voor buitengebruikstelling van AMS voor meer informatie.
In dit onderwerp worden de OData-queryopties en ondersteuning voor paginering besproken die beschikbaar zijn wanneer u Azure Media Services v3-entiteiten vermeldt.
Overwegingen
- Eigenschappen van entiteiten van het type
Datetime
hebben altijd de UTC-indeling. - Spaties in de querytekenreeks moeten met een URL zijn versleuteld voordat u een aanvraag verzendt.
Vergelijkingsoperatoren
U kunt de volgende operators gebruiken om een veld te vergelijken met een constante waarde:
Gelijkheidsoperators:
-
eq
: Test of een veld gelijk is aan een constante waarde. -
ne
: Test of een veld niet gelijk is aan een constante waarde.
Bereikoperators:
-
gt
: Test of een veld groter is dan een constante waarde. -
lt
: Test of een veld kleiner is dan een constante waarde. -
ge
: Test of een veld groter is dan of gelijk is aan een constante waarde. -
le
: Test of een veld kleiner is dan of gelijk is aan een constante waarde.
Filteren
Gebruik $filter
om een OData-filterparameter op te geven om alleen de objecten te zoeken waarin u geïnteresseerd bent.
In het volgende REST-voorbeeld wordt gefilterd op de alternateId
-waarde van een asset:
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'
In het volgende C#-voorbeeld wordt gefilterd op de datum waarop de asset is gemaakt:
var odataQuery = new ODataQuery<Asset>("properties/created lt 2018-05-11T17:39:08.387Z");
var firstPage = await MediaServicesArmClient.Assets.ListAsync(CustomerResourceGroup, CustomerAccountName, odataQuery);
Sorteren op
Gebruik $orderby
om de geretourneerde objecten te sorteren op de opgegeven parameter. Bijvoorbeeld:
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
Voor het sorteren van de resultaten in oplopende of aflopende volgorde voegt u asc
of desc
toe aan de veldnaam, gescheiden door een spatie. Bijvoorbeeld: $orderby properties/created desc
.
Skip-token
Als een query-antwoord veel items bevat, retourneert de service een $skiptoken
- (@odata.nextLink
)-waarde die u gebruikt om de volgende pagina met resultaten op te halen. Gebruik de waarde om door de hele resultatenset te bladeren.
In Media Services v3 kunt u de paginagrootte niet configureren. De paginagrootte varieert per entiteitstype. Lees de volgende afzonderlijke secties voor details.
Als entiteiten worden gemaakt of verwijderd terwijl u door de verzameling bladert, worden de wijzigingen weerspiegeld in de geretourneerde resultaten (als die wijzigingen zich bevinden in het deel van de verzameling dat niet is gedownload).
Tip
Gebruik altijd nextLink
om de verzameling op te sommen en wees niet afhankelijk van een specifieke paginagrootte.
De nextLink
-waarde wordt alleen weergegeven als er meer dan één pagina met entiteiten is.
Kijk eens naar het volgende voorbeeld waarin $skiptoken
wordt gebruikt. Vergeet niet amstestaccount te vervangen door uw accountnaam en de api-version-waarde in te stellen op de meest recente versie.
Als u een lijst met assets zoals deze aanvraagt:
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
Wordt een antwoord geretourneerd dat vergelijkbaar is met deze:
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"
}
Vervolgens vraagt u de volgende pagina aan door een get-aanvraag te verzenden voor:
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
In het volgende C#-voorbeeld ziet u hoe u alle streaminglocators in het account kunt opsommen.
var firstPage = await MediaServicesArmClient.StreamingLocators.ListAsync(CustomerResourceGroup, CustomerAccountName);
var currentPage = firstPage;
while (currentPage.NextPageLink != null)
{
currentPage = await MediaServicesArmClient.StreamingLocators.ListNextAsync(currentPage.NextPageLink);
}
Logische operators gebruiken om query-opties te combineren
Media Services v3 biedt ondersteuning voor de logische operators OR en AND.
In het volgende REST-voorbeeld wordt de status van de taak gecontroleerd:
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
U bouwt als volgt dezelfde query in C#:
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);
Opties van entiteiten filteren en rangschikken
In de volgende tabel ziet u hoe u de filter- en rangschikopties kunt toepassen op verschillende entiteiten:
Entiteitsnaam | Naam van eigenschap | Filteren | Bestellen |
---|---|---|---|
Assets | naam |
eq , gt , lt , ge , le |
asc en desc |
properties/alternateId | eq |
||
properties/assetId | eq |
||
eigenschappen/gemaakt |
eq , gt , lt |
asc en desc |
|
Beleid voor inhoudssleutels | naam |
eq , ne , ge , le , gt , lt |
asc en desc |
eigenschappen/gemaakt |
eq , ne , ge , le , gt , lt |
asc en desc |
|
eigenschappen/beschrijving |
eq , ne , ge , le , gt , lt |
||
properties/lastModified |
eq , ne , ge , le , gt , lt |
asc en desc |
|
properties/policyId |
eq , ne |
||
Taken | naam | eq |
asc en desc |
eigenschappen/status |
eq , ne |
||
eigenschappen/gemaakt |
gt , ge , lt , le |
asc en desc |
|
properties/lastModified |
gt , ge , lt , le |
asc en desc |
|
Streaming-locators | naam |
eq , ne , ge , le , gt , lt |
asc en desc |
eigenschappen/gemaakt |
eq , ne , ge , le , gt , lt |
asc en desc |
|
properties/endTime |
eq , ne , ge , le , gt , lt |
asc en desc |
|
Beleid voor streaming | naam |
eq , ne , ge , le , gt , lt |
asc en desc |
eigenschappen/gemaakt |
eq , ne , ge , le , gt , lt |
asc en desc |
|
Transformaties | naam | eq |
asc en desc |
eigenschappen/gemaakt |
gt , ge , lt , le |
asc en desc |
|
properties/lastModified |
gt , ge , lt , le |
asc en desc |
Help en ondersteuning
U kunt contact opnemen met Media Services met vragen of onze updates op een van de volgende manieren volgen:
- Q & A
-
Stack Overflow. Tag vragen met
azure-media-services
. - @MSFTAzureMedia of gebruik @AzureSupport om ondersteuning aan te vragen.
- Open een ondersteuningsticket via de Azure Portal.