مدقق توافق protobuf
قارن إصدارين من ملف .proto واعثر على التعديلات التي تكسر الرسائل المكتوبة مسبقًا على مستوى wire أو بصيغة JSON. يشرح كل تغيير في الأرقام والأنواع وأسماء الحقول والتعدادات.
تقبل ملفّي .proto لا يتجاوز كل منهما 1,000,000 حرف، وبحد أقصى 200,000 رمز و2,000 رسالة وتعداد و10,000 حقل لكل رسالة و32 مستوى من الرسائل المتداخلة. تجري المقارنة في عامل خلفية بالمتصفح. التنزيلات هي تقرير JSON وقائمة النتائج بصيغة CSV. الإصدار الذي كُتبت به البيانات الحالية. ضع الملف المعدّل في New schema. حتى 1,000,000 حرف. راجع الإعدادات قبل التشغيل.
نتيجتك
مدقق توافق protobuf
- الصق ملف .proto القديم في المربع الرئيسي.
- الصق الإصدار الجديد في حقل New schema.
- شغّل الفحص وراجع النتائج من الأشد خطورة إلى الأقل.
- نزّل تقرير JSON أو قائمة CSV.
ما تحتاج إلى معرفته
تقبل ملفّي .proto لا يتجاوز كل منهما 1,000,000 حرف، وبحد أقصى 200,000 رمز و2,000 رسالة وتعداد و10,000 حقل لكل رسالة و32 مستوى من الرسائل المتداخلة. تجري المقارنة في عامل خلفية بالمتصفح. التنزيلات هي تقرير JSON وقائمة النتائج بصيغة CSV.
درجات الخطورة
تعني التغييرات الكاسرة أن البرامج القديمة والجديدة قد تسيء قراءة الرسائل الثنائية: مثل حذف حقل من دون حجز رقمه، أو إعادة استخدام رقم من نطاق محجوز، أو تغيير نوع ذي ترميز wire مختلف، أو التغيير بين المفرد والمتكرر، أو حذف رسالة أو تعداد، أو تغيير رقم قيمة تعداد. وتعني تغييرات JSON الكاسرة أن البيانات الثنائية ما زالت تعمل لكن تنسيق JSON أو النص تغيّر، مثل إعادة تسمية حقل أو قيمة تعداد. وتشمل التحذيرات تغييرات تعمل على مستوى wire لكنها قد تقتطع القيم أو تعيد تفسيرها، مثل int32 إلى int64، أو نقل حقل إلى oneof أو منه.
آلية المقارنة
تُطابق الرسائل والتعدادات بالاسم من دون package، والحقول بالرقم، وفق قواعد دليل لغة protobuf لتحديث نوع رسالة. كما تجري مقارنة الرسائل والتعدادات المتداخلة داخل رسائل أخرى.
غير مدعوم
يقرأ المحلل ملفات proto2 وproto3 التي تحتوي على رسائل وتعدادات وoneof وmaps وأنواع متداخلة وأرقام وأسماء محجوزة وخيارات حقول. تُدرج imports لكنها لا تُحل، لذا تُقارن الأنواع من الملفات الأخرى بالاسم فقط. تُرفض Editions وgroups وextensions. تُتخطى Services.