Entidades de filtragem, ordenação e paginação
Aviso
Os Serviços de Multimédia do Azure serão descontinuados a 30 de junho de 2024. Para obter mais informações, consulte o Guia de Descontinuação do AMS.
Este tópico aborda as opções de consulta OData e o suporte de paginação disponíveis quando está a listar entidades v3 dos Serviços de Multimédia do Azure.
Considerações
- As propriedades das entidades do
Datetime
tipo estão sempre no formato UTC. - O espaço em branco na cadeia de consulta deve ser codificado com URL antes de enviar um pedido.
Operadores de comparação
Pode utilizar os seguintes operadores para comparar um campo com um valor constante:
Operadores de igualdade:
-
eq
: teste se um campo é igual a um valor constante. -
ne
: teste se um campo não é igual a um valor constante.
Operadores de intervalo:
-
gt
: teste se um campo é maior do que um valor constante. -
lt
: teste se um campo é inferior a um valor constante. -
ge
: teste se um campo é maior ou igual a um valor constante. -
le
: teste se um campo é menor ou igual a um valor constante.
Filtro
Utilize $filter
para fornecer um parâmetro de filtro OData para localizar apenas os objetos nos quais está interessado.
O exemplo REST seguinte filtra o alternateId
valor de um recurso:
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'
O seguinte exemplo de C# filtra a data de criação do recurso:
var odataQuery = new ODataQuery<Asset>("properties/created lt 2018-05-11T17:39:08.387Z");
var firstPage = await MediaServicesArmClient.Assets.ListAsync(CustomerResourceGroup, CustomerAccountName, odataQuery);
Encomendar por
Utilize $orderby
para ordenar os objetos devolvidos pelo parâmetro especificado. Por exemplo:
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
Para ordenar os resultados por ordem ascendente ou descendente, acrescente ou asc
desc
ao nome do campo, separado por um espaço. Por exemplo: $orderby properties/created desc
.
Ignorar token
Se uma resposta de consulta contiver muitos itens, o serviço devolve um $skiptoken
valor (@odata.nextLink
) que utiliza para obter a página seguinte dos resultados. Utilize-o para analisar todo o conjunto de resultados.
Nos Serviços de Multimédia v3, não pode configurar o tamanho da página. O tamanho da página varia consoada com o tipo de entidade. Leia as secções individuais que se seguem para obter detalhes.
Se as entidades forem criadas ou eliminadas enquanto estiver a paginar a coleção, as alterações serão refletidas nos resultados devolvidos (se essas alterações estiverem na parte da coleção que não foi transferida).
Dica
nextLink
Utilize sempre para enumerar a coleção e não depende de um tamanho de página específico.
O nextLink
valor só estará presente se existir mais do que uma página de entidades.
Considere o exemplo seguinte de onde $skiptoken
é utilizado. Certifique-se de que substitui amstestaccount pelo nome da sua conta e defina o valor da versão da api para a versão mais recente.
Se pedir uma lista de recursos como este:
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
Receberá uma resposta semelhante a esta:
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"
}
Em seguida, pediria a página seguinte ao enviar um pedido get para:
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
O exemplo C# seguinte mostra como enumerar através de todos os localizadores de transmissão em fluxo na conta.
var firstPage = await MediaServicesArmClient.StreamingLocators.ListAsync(CustomerResourceGroup, CustomerAccountName);
var currentPage = firstPage;
while (currentPage.NextPageLink != null)
{
currentPage = await MediaServicesArmClient.StreamingLocators.ListNextAsync(currentPage.NextPageLink);
}
Utilizar operadores lógicos para combinar opções de consulta
Os Serviços de Multimédia v3 suportam operadores lógicos OR e AND .
O exemplo REST seguinte verifica o estado da tarefa:
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
Pode construir a mesma consulta em C# da seguinte forma:
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);
Opções de filtragem e ordenação de entidades
A tabela seguinte mostra como pode aplicar as opções de filtragem e ordenação a diferentes entidades:
Nome da entidade | Nome da propriedade | Filtro | Encomenda |
---|---|---|---|
Recursos | name |
eq , gt , lt , ge , le |
asc e desc |
properties/alternateId | eq |
||
propriedades/assetId | eq |
||
propriedades/criadas |
eq , gt , lt |
asc e desc |
|
Políticas de chaves de conteúdo | name |
eq , ne , ge , le , gt , lt |
asc e desc |
propriedades/criadas |
eq , ne , ge , le , gt , lt |
asc e desc |
|
propriedades/descrição |
eq , ne , ge , le , gt , lt |
||
properties/lastModified |
eq , ne , ge , le , gt , lt |
asc e desc |
|
properties/policyId |
eq , ne |
||
Tarefas | name | eq |
asc e desc |
propriedades/estado |
eq , ne |
||
propriedades/criadas |
gt , ge , lt , le |
asc e desc |
|
properties/lastModified |
gt , ge , lt , le |
asc e desc |
|
Localizadores de transmissão em fluxo | name |
eq , ne , ge , le , gt , lt |
asc e desc |
propriedades/criadas |
eq , ne , ge , le , gt , lt |
asc e desc |
|
propriedades/endTime |
eq , ne , ge , le , gt , lt |
asc e desc |
|
Políticas de transmissão em fluxo | name |
eq , ne , ge , le , gt , lt |
asc e desc |
propriedades/criadas |
eq , ne , ge , le , gt , lt |
asc e desc |
|
Transformações | name | eq |
asc e desc |
propriedades/criadas |
gt , ge , lt , le |
asc e desc |
|
properties/lastModified |
gt , ge , lt , le |
asc e desc |
Obter ajuda e suporte
Pode contactar os Serviços de Multimédia com perguntas ou seguir as nossas atualizações através de um dos seguintes métodos:
- Q & A
-
Stack Overflow. Perguntas sobre etiquetas com
azure-media-services
. - @MSFTAzureMedia ou utilize @AzureSupport para pedir suporte.
- Abra um pedido de suporte através do portal do Azure.