Filtro, ordinamento e entità di paging
Avviso
Servizi multimediali di Azure verrà ritirato il 30 giugno 2024. Per altre informazioni, vedere la Guida al ritiro di AMS.
Questo argomento illustra le opzioni di query OData e il supporto per la paginazione disponibili quando si elencano le entità di Servizi multimediali di Azure v3.
Considerazioni
- Le proprietà delle entità di tipo
Datetime
sono sempre in formato UTC. - Lo spazio vuoto nella stringa di query deve essere con codifica URL prima dell'invio di una richiesta.
Operatori di confronto
Per confrontare un campo con un valore costante, è possibile usare gli operatori seguenti:
Operatori di uguaglianza:
-
eq
: verifica se un campo è uguale a un valore costante. -
ne
: verifica se un campo è diverso da un valore costante.
Operatori di intervallo:
-
gt
: verifica se un campo è maggiore di un valore costante. -
lt
: verifica se un campo è minore di un valore costante. -
ge
: verifica se un campo è maggiore o uguale a un valore costante. -
le
: verifica se un campo è minore o uguale a un valore costante.
Filtro
Usare $filter
per fornire un parametro di filtro OData per trovare solo gli oggetti a cui si è interessati.
L'esempio REST seguente applica un filtro in base al valore alternateId
di un 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'
L'esempio C# seguente applica un filtro in base alla data di creazione dell'asset:
var odataQuery = new ODataQuery<Asset>("properties/created lt 2018-05-11T17:39:08.387Z");
var firstPage = await MediaServicesArmClient.Assets.ListAsync(CustomerResourceGroup, CustomerAccountName, odataQuery);
Order by
Usare $orderby
per ordinare gli oggetti restituiti in base al parametro specificato. Ad esempio:
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
Per ordinare i risultati in ordine crescente o decrescente, aggiungere asc
o desc
al nome del campo, separati da uno spazio. Ad esempio: $orderby properties/created desc
.
Skip token
Se la risposta di una query contiene molti elementi, il servizio restituisce un valore $skiptoken
(@odata.nextLink
) da usare per ottenere la pagina di risultati successiva. Usarlo per scorrere l'intero set di risultati.
In Servizi multimediali v3 non è possibile configurare le dimensioni delle pagine. Le dimensioni delle pagine variano in base al tipo di entità. Leggere le singole sezioni che seguono per informazioni dettagliate.
Se vengono create o eliminate entità durante lo scorrimento delle pagine della raccolta, le modifiche si riflettono nei risultati restituiti (se tali modifiche riguardano la parte della raccolta che non è stata scaricata).
Suggerimento
Usare sempre nextLink
per enumerare la raccolta e non dipendere da determinate dimensioni di pagina.
Il valore nextLink
sarà presente solo se esistono più pagine di entità.
Si consideri l'esempio seguente per vedere dove viene usato $skiptoken
. Assicurarsi di sostituire amstestaccount con il proprio nome dell'account e di impostare il valore api-version sulla versione più recente.
Se si richiede un elenco degli asset simile al seguente:
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
Si ottiene una risposta simile a questa:
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"
}
Si può quindi richiedere la pagina successiva inviando una richiesta get per:
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
L'esempio in C# seguente illustra come enumerare tutti i localizzatori di streaming nell'account.
var firstPage = await MediaServicesArmClient.StreamingLocators.ListAsync(CustomerResourceGroup, CustomerAccountName);
var currentPage = firstPage;
while (currentPage.NextPageLink != null)
{
currentPage = await MediaServicesArmClient.StreamingLocators.ListNextAsync(currentPage.NextPageLink);
}
Uso di operatori logici per combinare le opzioni di query
Servizi multimediali v3 supporta gli operatori logici OR e AND.
L'esempio REST seguente controlla lo stato del processo:
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
La stessa query viene creata in C# come segue:
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);
Opzioni di filtro e ordinamento delle entità
La tabella seguente illustra come applicare le opzioni di filtro e ordinamento a entità diverse:
Nome dell'entità | Nome della proprietà | Filtro | JSON |
---|---|---|---|
Asset | name |
eq , gt , lt , ge , le |
asc e desc |
proprietà/alternateId | eq |
||
proprietà/assetId | eq |
||
proprietà/creazione |
eq , gt , lt |
asc e desc |
|
Criteri chiave simmetrica | name |
eq , ne , ge , le , gt , lt |
asc e desc |
proprietà/creazione |
eq , ne , ge , le , gt , lt |
asc e desc |
|
properties/description |
eq , ne , ge , le , gt , lt |
||
proprietà/lastModified |
eq , ne , ge , le , gt , lt |
asc e desc |
|
proprietà/policyId |
eq , ne |
||
Processi | name | eq |
asc e desc |
properties/state |
eq , ne |
||
proprietà/creazione |
gt , ge , lt , le |
asc e desc |
|
proprietà/lastModified |
gt , ge , lt , le |
asc e desc |
|
Localizzatori di streaming | name |
eq , ne , ge , le , gt , lt |
asc e desc |
proprietà/creazione |
eq , ne , ge , le , gt , lt |
asc e desc |
|
proprietà/endTime |
eq , ne , ge , le , gt , lt |
asc e desc |
|
Criteri di streaming | name |
eq , ne , ge , le , gt , lt |
asc e desc |
proprietà/creazione |
eq , ne , ge , le , gt , lt |
asc e desc |
|
Trasformazioni | name | eq |
asc e desc |
proprietà/creazione |
gt , ge , lt , le |
asc e desc |
|
proprietà/lastModified |
gt , ge , lt , le |
asc e desc |
Guida e supporto tecnico
È possibile contattare Servizi multimediali con domande o seguire gli aggiornamenti tramite uno dei metodi seguenti:
- DOMANDE E RISPOSTE
-
Stack Overflow. Contrassegna le domande con
azure-media-services
. - @MSFTAzureMedia o usare @AzureSupport per richiedere supporto.
- Aprire un ticket di supporto tramite il portale di Azure.