Pemfilteran, pengurutan, dan penomoran entitas
Peringatan
Azure Media Services akan dihentikan pada 30 Juni 2024. Untuk informasi selengkapnya, lihat Panduan Penghentian AMS.
Topik ini membahas opsi kueri OData serta dukungan pagination yang tersedia saat Anda mencantumkan entitas Azure Media Services v3.
Pertimbangan
- Properti entitas dengan tipe
Datetime
selalu berada dalam format UTC. - Spasi kosong dalam string kueri harus dikodekan dalam URL sebelum Anda mengirim permintaan.
Operator perbandingan
Anda dapat menggunakan operator berikut untuk membandingkan bidang dengan nilai konstanta:
Operator kesetaraan:
eq
: Uji apakah bidang setara dengan nilai konstanta.ne
: Uji apakah bidang tidak setara dengan nilai konstanta.
Operator rentang:
gt
: Uji apakah bidang lebih besar dari nilai konstanta.lt
: Uji apakah bidang lebih kecil dari nilai konstanta.ge
: Uji apakah bidang lebih besar dari atau setara dengan nilai konstanta.le
: Uji apakah bidang kurang dari atau setara dengan nilai konstanta.
Filter
Gunakan $filter
untuk menyediakan parameter filter OData dengan tujuan menemukan hanya objek yang Anda minati.
Contoh REST berikut memfilter nilai alternateId
dari sebuah aset:
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'
Contoh C# berikut memfilter tanggal yang dibuat oleh aset:
var odataQuery = new ODataQuery<Asset>("properties/created lt 2018-05-11T17:39:08.387Z");
var firstPage = await MediaServicesArmClient.Assets.ListAsync(CustomerResourceGroup, CustomerAccountName, odataQuery);
Pesan pada
Gunakan $orderby
untuk mengurutkan objek yang dikembalikan berdasarkan parameter yang ditentukan. Contohnya:
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
Untuk mengurutkan hasil dalam urutan meningkat atau menurun, tambahkan salah satu antara asc
atau desc
ke nama bidang, dipisahkan oleh spasi. Contoh: $orderby properties/created desc
.
Lewatkan token
Jika respons kueri menampilkan banyak item, layanan akan mengembalikan nilai $skiptoken
(@odata.nextLink
) yang Anda gunakan untuk mendapatkan halaman hasil berikutnya. Gunakan nilai tersebut untuk menetapkan halaman untuk seluruh set hasil.
Di Media Services v3, tidak dimungkinkan untuk mengonfigurasi ukuran halaman. Ukuran halaman akan bervariasi menurut jenis entitas. Baca bagian tertentu yang mengikuti untuk detailnya.
Jika entitas dibuat atau dihapus saat Anda melakukan menetapkan halaman pada koleksi, perubahan akan ditampilkan dalam hasil (jika perubahan tersebut berada di bagian koleksi yang belum diunduh).
Tip
Selalu gunakan nextLink
untuk menghitung koleksi, yang tidak bergantung pada ukuran halaman tertentu.
Nilai nextLink
hanya akan ditampilkan jika ada lebih dari satu halaman entitas.
Pertimbangkan contoh berikut, di mana $skiptoken
digunakan. Pastikan Anda mengganti amstestaccount dengan nama akun Anda dan menyetel nilai api-version ke versi terbaru.
Jika Anda meminta daftar aset seperti berikut:
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
Anda akan mendapatkan respons yang serupa dengan salah satu respons berikut:
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"
}
Anda kemudian akan meminta halaman berikutnya dengan mengirim permintaan untuk memperoleh:
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
Contoh C# berikut ini menampilkan cara menghitung melalui semua pencari streaming di akun.
var firstPage = await MediaServicesArmClient.StreamingLocators.ListAsync(CustomerResourceGroup, CustomerAccountName);
var currentPage = firstPage;
while (currentPage.NextPageLink != null)
{
currentPage = await MediaServicesArmClient.StreamingLocators.ListNextAsync(currentPage.NextPageLink);
}
Menggunakan operator logika untuk mengombinasikan opsi kueri
Media Services v3 mendukung operator logika OR dan AND.
Contoh REST berikut akan memeriksa status pekerjaan:
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
Anda membuat kueri yang sama pada C# seperti ini:
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);
Memfilter serta memesan opsi entitas
Tabel berikut memperlihatkan cara menerapkan opsi pemfilteran dan pemesanan ke entitas yang berbeda:
Nama entitas | Nama properti | Filter | Pesanan |
---|---|---|---|
Aset | nama | eq , gt , lt , ge , le |
asc dan desc |
properties/alternateId | eq |
||
properties/assetId | eq |
||
properties/created | eq , gt , lt |
asc dan desc |
|
Kebijakan utama konten | nama | eq , ne , ge , le , gt , lt |
asc dan desc |
properties/created | eq , ne , ge , le , gt , lt |
asc dan desc |
|
properties/description | eq , ne , ge , le , gt , lt |
||
properties/lastModified | eq , ne , ge , le , gt , lt |
asc dan desc |
|
properties/policyId | eq , ne |
||
Pekerjaan | nama | eq |
asc dan desc |
properties/state | eq , ne |
||
properties/created | gt , ge , lt , le |
asc dan desc |
|
properties/lastModified | gt , ge , lt , le |
asc dan desc |
|
Pencari streaming | nama | eq , ne , ge , le , gt , lt |
asc dan desc |
properties/created | eq , ne , ge , le , gt , lt |
asc dan desc |
|
properties/endTime | eq , ne , ge , le , gt , lt |
asc dan desc |
|
Kebijakan streaming | nama | eq , ne , ge , le , gt , lt |
asc dan desc |
properties/created | eq , ne , ge , le , gt , lt |
asc dan desc |
|
Transformasi | nama | eq |
asc dan desc |
properties/created | gt , ge , lt , le |
asc dan desc |
|
properties/lastModified | gt , ge , lt , le |
asc dan desc |
Dapatkan bantuan dan dukungan
Anda dapat menghubungi Media Services dengan pertanyaan atau mengikuti pembaruan kami dengan salah satu metode berikut:
- T & A
- Stack Overflow. Beri tag pertanyaan dengan
azure-media-services
. - @MSFTAzureMedia atau gunakan @AzureSupport untuk meminta dukungan.
- Buka tiket dukungan melalui portal Azure.