Entidades de filtragem, ordenação e paginação

Logótipo dos Serviços de Multimédia v3


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/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'

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/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

Para ordenar os resultados por ordem ascendente ou descendente, acrescente ou ascdesc 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/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

Receberá uma resposta semelhante a esta:

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

Em seguida, pediria a página seguinte ao enviar um pedido get para:

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

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/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

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: