كيانات التصفية والترتيب والترحيل

شعار Media Services v3


تحذير

سيتم إيقاف Azure Media Services في 30 يونيو 2024. لمزيد من المعلومات، راجع دليل إيقاف AMS.

يناقش هذا الموضوع خيارات استعلام OData ودعم ترقيم الصفحات المتاح عندما تقوم بإدراج كيانات Azure Media Services الإصدار الثالث.

الاعتبارات

  • تكون خصائص الكيانات من النوع Datetime دائمًا بتنسيق UTC.
  • يجب ترميز المسافة البيضاء في سلسلة الاستعلام بعنوان URL قبل إرسال الطلب.

عوامل المقارنة

يمكنك استخدام عوامل التشغيل التالية لمقارنة حقل بقيمة ثابتة:

عوامل المساواة:

  • eq: اختبر ما إذا كان الحقل يساوي قيمة ثابتة.
  • ne: اختبر ما إذا كان الحقل لا يساوي قيمة ثابتة.

مشغلي الميدان:

  • gt: اختبر ما إذا كان الحقل أكبر من قيمة ثابتة.
  • lt: اختبر ما إذا كان الحقل أقل من قيمة ثابتة.
  • ge: اختبر ما إذا كان الحقل أكبر من أو يساوي قيمة ثابتة.
  • le: اختبر ما إذا كان الحقل أقل من أو يساوي قيمة ثابتة.

عامل التصفية

استخدم $filter لتوفير معلمة عامل تصفية OData للعثور على الكائنات التي تهتم بها فقط.

يقوم مثال REST التالي بتصفية alternateId قيمة الأصل:

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'

مثال #C التالي يقوم بالتصفية في تاريخ إنشاء الأصل:

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

ترتيب حسب

استخدم $orderby لفرز الكائنات التي تم إرجاعها بواسطة المعلمة المحددة. على سبيل المثال:

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

لفرز النتائج بترتيب تصاعدي أو تنازلي، قم بإلحاق إما asc أو desc باسم الحقل، مفصولة بمسافة. على سبيل المثال: $orderby properties/created desc.

تخطي الرمز المميز

إذا احتوت استجابة الاستعلام على العديد من العناصر، فتُرجع الخدمة قيمة $skiptoken (@odata.nextLink) التي تستخدمها للحصول على الصفحة التالية من النتائج. استخدمه لتصفح مجموعة النتائج بأكملها.

في Media Services الإصدار الثالث، لا يمكنك تكوين حجم الصفحة. يختلف حجم الصفحة حسب نوع الكيان. اقرأ الأقسام الفردية التالية للحصول على التفاصيل.

إذا تم إنشاء الكيانات أو حذفها في أثناء قيامك بالترحيل عبر المجموعة، فإن التغييرات تنعكس في النتائج التي تم إرجاعها (إذا كانت هذه التغييرات في جزء المجموعة الذي لم يتم تنزيله).

تلميح

استخدم دائمًا nextLink لتعداد المجموعة ولا تعتمد على حجم صفحة معين.

ستكون قيمة nextLink موجودة فقط في حالة وجود أكثر من صفحة كيانات واحدة.

ضع في اعتبارك المثال التالي حيث يتم استخدام $skiptoken. تأكد من استبدال amstestaccount باسم حسابك وتعيين قيمة api-version على أحدث إصدار.

إذا طلبت قائمة أصول مثل هذا:

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

ستحصل على رد مشابه لهذا الرد:

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

يمكنك بعد ذلك طلب الصفحة التالية عن طريق إرسال طلب الحصول على:

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

يوضح مثال C # التالي كيفية التعداد من خلال جميع محددات مواقع البث في الحساب.

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

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

استخدام العوامل المنطقية لتكوين خيارات الاستعلام

تدعم Media Services الإصدار الثالث عوامل التشغيل المنطقية OR وAND.

يتحقق مثال REST التالي من حالة الوظيفة:

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

يمكنك إنشاء نفس الاستعلام في #C مثل هذا:

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

خيارات التصفية وترتيب الكيانات

يوضح الجدول التالي كيف يمكنك تطبيق خيارات التصفية والترتيب على كيانات مختلفة:

اسم الكيان اسم الخاصية عامل التصفية الطلب
الأصول الاسم eq, gt, lt, ge, le asc وdesc
properties/alternateId eq
properties/assetId eq
خصائص/تم إنشاؤها eq, gt, lt asc وdesc
نُهج مفتاح المحتوى الاسم eq, ne, ge, le, gt, lt asc وdesc
خصائص/تم إنشاؤها eq, ne, ge, le, gt, lt asc وdesc
خصائص/وصف eq, ne, ge, le, gt, lt
خصائص/آخر تعديل eq, ne, ge, le, gt, lt asc وdesc
properties/policyId eq, ne
الوظائف⁧ الاسم eq asc وdesc
الخصائص/الحالة eq, ne
خصائص/تم إنشاؤها gt, ge, lt, le asc وdesc
خصائص/آخر تعديل gt, ge, lt, le asc وdesc
Streaming locators الاسم eq, ne, ge, le, gt, lt asc وdesc
خصائص/تم إنشاؤها eq, ne, ge, le, gt, lt asc وdesc
خصائص/وقت الانتهاء eq, ne, ge, le, gt, lt asc وdesc
Streaming policies الاسم eq, ne, ge, le, gt, lt asc وdesc
خصائص/تم إنشاؤها eq, ne, ge, le, gt, lt asc وdesc
التحويلات الاسم eq asc وdesc
خصائص/تم إنشاؤها gt, ge, lt, le asc وdesc
خصائص/آخر تعديل gt, ge, lt, le asc وdesc

الحصول على التعليمات والدعم

يمكنك الاتصال بخدمات الوسائط بأسئلة أو اتباع تحديثاتنا بإحدى الطرق التالية: