Filtrering, ordning och växling av entiteter

Media Services-logotyp v3


Varning

Azure Media Services dras tillbaka den 30 juni 2024. Mer information finns i AMS-pensionsguiden.

I det här avsnittet beskrivs OData-frågealternativ och sidnumreringsstöd när du listar Azure Media Services v3-entiteter.

Överväganden

  • Egenskaper för entiteter som är av typen Datetime är alltid i UTC-format.
  • Tomt utrymme i frågesträngen ska vara URL-kodat innan du skickar en begäran.

Jämförelseoperatorer

Du kan använda följande operatorer för att jämföra ett fält med ett konstant värde:

Likhetsoperatorer:

  • eq: Testa om ett fält är lika med ett konstant värde.
  • ne: Testa om ett fält inte är lika med ett konstant värde.

Intervalloperatorer:

  • gt: Testa om ett fält är större än ett konstant värde.
  • lt: Testa om ett fält är mindre än ett konstant värde.
  • ge: Testa om ett fält är större än eller lika med ett konstant värde.
  • le: Testa om ett fält är mindre än eller lika med ett konstant värde.

Filtrera

Använd $filter för att ange en OData-filterparameter för att bara hitta de objekt som du är intresserad av.

Följande REST-exempel filtrerar på värdet för alternateId en tillgång:

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'

Följande C#-exempel filtrerar på tillgångens skapade datum:

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

Sortera efter

Använd $orderby för att sortera de returnerade objekten efter den angivna parametern. Exempel:

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

Om du vill sortera resultaten i stigande eller fallande ordning lägger du till antingen asc eller desc till fältnamnet, avgränsat med ett blanksteg. Exempel: $orderby properties/created desc.

Hoppa över token

Om ett frågesvar innehåller många objekt returnerar tjänsten ett $skiptoken (@odata.nextLink) värde som du använder för att hämta nästa resultatsida. Använd den för att bläddra igenom hela resultatuppsättningen.

I Media Services v3 kan du inte konfigurera sidstorleken. Sidstorleken varierar beroende på typen av entitet. Läs de enskilda avsnitten som följer för mer information.

Om entiteter skapas eller tas bort när du bläddrar i samlingen återspeglas ändringarna i de returnerade resultaten (om ändringarna finns i den del av samlingen som inte har laddats ned).

Tips

Använd nextLink alltid för att räkna upp samlingen och är inte beroende av en viss sidstorlek.

Värdet nextLink finns bara om det finns fler än en sida med entiteter.

Tänk dig följande exempel på var $skiptoken används. Se till att du ersätter amstestaccount med ditt kontonamn och anger api-versionsvärdet till den senaste versionen.

Om du begär en lista över tillgångar som denna:

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

Du får ett svar som liknar det här svaret:

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

Du begär sedan nästa sida genom att skicka en get-begäran för:

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

I följande C#-exempel visas hur du räknar upp genom alla positionerare för direktuppspelning i kontot.

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

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

Använda logiska operatorer för att kombinera frågealternativ

Media Services v3 stöder logiska OPERATORER OR och AND .

I följande REST-exempel kontrolleras jobbets tillstånd:

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

Du skapar samma fråga i C# så här:

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

Filtrerings- och ordningsalternativ för entiteter

I följande tabell visas hur du kan tillämpa filtrerings- och sorteringsalternativen på olika entiteter:

Entitetsnamn Egenskapsnamn Filtrera Beställning
Tillgångar name eq, gt, lt, ge, le asc och desc
properties/alternateId eq
properties/assetId eq
properties/created eq, gt, lt asc och desc
Principer för innehållsnycklar name eq, ne, ge, le, gt, lt asc och desc
properties/created eq, ne, ge, le, gt, lt asc och desc
egenskaper/beskrivning eq, ne, ge, le, gt, lt
properties/lastModified eq, ne, ge, le, gt, lt asc och desc
properties/policyId eq, ne
Jobb name eq asc och desc
egenskaper/tillstånd eq, ne
properties/created gt, ge, lt, le asc och desc
properties/lastModified gt, ge, lt, le asc och desc
Positionerare för direktuppspelning name eq, ne, ge, le, gt, lt asc och desc
properties/created eq, ne, ge, le, gt, lt asc och desc
properties/endTime eq, ne, ge, le, gt, lt asc och desc
Principer för direktuppspelning name eq, ne, ge, le, gt, lt asc och desc
properties/created eq, ne, ge, le, gt, lt asc och desc
Transformering name eq asc och desc
properties/created gt, ge, lt, le asc och desc
properties/lastModified gt, ge, lt, le asc och desc

Få hjälp och support

Du kan kontakta Media Services med frågor eller följa våra uppdateringar med någon av följande metoder: