Varlıkları filtreleme, sıralama ve sayfalama

Media Services logosu v3


Uyarı

Azure Media Services 30 Haziran 2024'de kullanımdan kaldırılacaktır. Daha fazla bilgi için bkz. AMS Kullanımdan Kaldırma Kılavuzu.

Bu konuda, Azure Media Services v3 varlıklarını listelerken kullanılabilen OData sorgu seçenekleri ve sayfalandırma desteği açıklanmaktadır.

Dikkat edilmesi gerekenler

  • Türdeki varlıkların Datetime özellikleri her zaman UTC biçimindedir.
  • İstek göndermeden önce sorgu dizesindeki boşluk URL ile kodlanmalıdır.

Karşılaştırma işleçleri

Bir alanı sabit değerle karşılaştırmak için aşağıdaki işleçleri kullanabilirsiniz:

Eşitlik işleçleri:

  • eq: Alanın sabit bir değere eşit olup olmadığını test edin.
  • ne: Alanın sabit bir değere eşit olup olmadığını test edin.

Aralık işleçleri:

  • gt: Alanın sabit bir değerden büyük olup olmadığını test edin.
  • lt: Alanın sabit bir değerden küçük olup olmadığını test edin.
  • ge: Bir alanın sabit bir değerden büyük veya buna eşit olup olmadığını test edin.
  • le: Bir alanın sabit bir değerden küçük veya buna eşit olup olmadığını test edin.

Filtre

Yalnızca ilgilendiğiniz nesneleri bulmak için bir OData filtre parametresi sağlamak için kullanın $filter .

Aşağıdaki REST örneği bir varlığın alternateId değerini filtreler:

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'

Aşağıdaki C# örneği varlığın oluşturulma tarihine göre filtrelenir:

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

Sipariş ölçütü

Döndürülen nesneleri belirtilen parametreye göre sıralamak için kullanın $orderby . Örnek:

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

Sonuçları artan veya azalan düzende sıralamak için alan adına boşlukla ayırarak veya desc ekleyinasc. Örneğin: $orderby properties/created desc.

Belirteci atla

Sorgu yanıtı çok sayıda öğe içeriyorsa, hizmet bir sonraki sonuç sayfasını almak için kullandığınız bir $skiptoken (@odata.nextLink) değeri döndürür. Sonuç kümesinin tamamında sayfalandırmak için bunu kullanın.

Media Services v3'te sayfa boyutunu yapılandıramazsınız. Sayfa boyutu varlığın türüne göre değişir. Ayrıntılar için izleyen bölümleri tek tek okuyun.

Koleksiyonda sayfalama yaparken varlıklar oluşturulur veya silinirse, değişiklikler döndürülen sonuçlara yansıtılır (bu değişiklikler koleksiyonun indirilmemiş bölümündeyse).

İpucu

Koleksiyonu listelemek için her zaman kullanın nextLink ve belirli bir sayfa boyutuna bağımlı değildir.

Değer nextLink yalnızca birden fazla varlık sayfası varsa mevcut olur.

Nerede $skiptoken kullanıldığına ilişkin aşağıdaki örneği göz önünde bulundurun. amstestaccount değerini hesap adınız ile değiştirdiğinizden ve api-version değerini en son sürüme ayarladığınızdan emin olun.

Aşağıdaki gibi varlıkların listesini isterseniz:

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

Aşağıdakine benzer bir yanıt alırsınız:

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

Ardından aşağıdakiler için bir get isteği göndererek sonraki sayfayı isteyebilirsiniz:

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

Aşağıdaki C# örneği, hesaptaki tüm akış bulucuları arasında numaralandırmayı gösterir.

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

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

Sorgu seçeneklerini birleştirmek için mantıksal işleçleri kullanma

Media Services v3 , OR ve AND mantıksal işleçlerini destekler.

Aşağıdaki REST örneği işin durumunu denetler:

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

C# içinde aşağıdaki gibi aynı sorguyu oluşturursunuz:

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

Varlıkları filtreleme ve sıralama seçenekleri

Aşağıdaki tabloda, filtreleme ve sıralama seçeneklerini farklı varlıklara nasıl uygulayabileceğiniz gösterilmektedir:

Varlık adı Özellik adı Filtre Sipariş
Varlıklar name eq, gt, lt, ge, le asc ve desc
properties/alternateId eq
properties/assetId eq
özellikler/oluşturuldu eq, gt, lt asc ve desc
İçerik anahtarı ilkeleri name eq, ne, ge, le, gt, lt asc ve desc
özellikler/oluşturuldu eq, ne, ge, le, gt, lt asc ve desc
özellikler/açıklama eq, ne, ge, le, gt, lt
properties/lastModified eq, ne, ge, le, gt, lt asc ve desc
properties/policyId eq, ne
İşler name eq asc ve desc
özellikler/durum eq, ne
özellikler/oluşturuldu gt, ge, lt, le asc ve desc
properties/lastModified gt, ge, lt, le asc ve desc
Akış bulucuları name eq, ne, ge, le, gt, lt asc ve desc
özellikler/oluşturuldu eq, ne, ge, le, gt, lt asc ve desc
properties/endTime eq, ne, ge, le, gt, lt asc ve desc
Akış ilkeleri name eq, ne, ge, le, gt, lt asc ve desc
özellikler/oluşturuldu eq, ne, ge, le, gt, lt asc ve desc
Dönüştürmeler name eq asc ve desc
özellikler/oluşturuldu gt, ge, lt, le asc ve desc
properties/lastModified gt, ge, lt, le asc ve desc

Yardım ve destek alma

Aşağıdaki yöntemlerden birini kullanarak Media Services ile iletişime geçebilir veya güncelleştirmelerimizi izleyebilirsiniz: