Filtrering, ordning och växling av entiteter
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/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'
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/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
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/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
Du får ett svar som liknar det här svaret:
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"
}
Du begär sedan nästa sida genom att skicka en get-begäran för:
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
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/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
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:
- Q & A
-
Stack Overflow. Tagga frågor med
azure-media-services
. - @MSFTAzureMedia eller använd @AzureSupport för att begära support.
- Öppna en supportbegäran via Azure Portal.