happytails.ai
العربية

مدقق توافق مخطط Avro

تحقق مما إذا كان المخطط الجديد لـ Avro ما زال يستطيع قراءة البيانات التي كتبها القديم، أو العكس. تُعرض كل الحقول والأنواع ورموز التعداد التي تمنع التوافق مع مسارها.

تقبل مخططات Avro بصيغة JSON، بحد أقصى 1,000,000 حرف لكل مخطط، و50,000 قيمة JSON و64 مستوى تداخل. وفي الأوضاع الانتقالية، تقبل حتى 50 إصدارًا أقدم. يعمل الفحص في عامل خلفية بالمتصفح. التنزيلات هي تقرير JSON وقائمة مشكلات CSV. مخطط الكاتب بصيغة JSON، أو {"versions":[...]} مع مخططات أقدم مرتبة من الأقدم إلى الأحدث للأوضاع الانتقالية. حتى 1,000,000 حرف. راجع الإعدادات قبل التشغيل.

نتيجتك

أبلغ عن مشكلة أو شارك فكرة.

مدقق توافق مخطط Avro
  1. الصق مخطط Avro الأقدم في المربع الرئيسي، أو أدخل {"versions":[...]} لوضع انتقالي.
  2. الصق المخطط الجديد في حقل New schema.
  3. اختر التوافق للخلف أو للأمام أو التوافق الكامل.
  4. شغّل الفحص ونزّل تقرير JSON أو قائمة المشكلات بصيغة CSV.

ما تحتاج إلى معرفته

تقبل مخططات Avro بصيغة JSON، بحد أقصى 1,000,000 حرف لكل مخطط، و50,000 قيمة JSON و64 مستوى تداخل. وفي الأوضاع الانتقالية، تقبل حتى 50 إصدارًا أقدم. يعمل الفحص في عامل خلفية بالمتصفح. التنزيلات هي تقرير JSON وقائمة مشكلات CSV.

الأوضاع

يعني التوافق مع الإصدارات الأقدم أن المخطط الجديد يستطيع قراءة البيانات التي كتبها المخطط القديم، وهو ما يحتاج إليه ترقية المستهلك. ويعني التوافق مع الإصدارات الأحدث أن المخطط القديم يستطيع قراءة البيانات التي كتبها المخطط الجديد. ويفحص التوافق الكامل الاتجاهين. تقارن الأوضاع الانتقالية المخطط الجديد بكل إصدار أقدم تدرجه، من الأقدم إلى الأحدث، بدلًا من الإصدار الأحدث فقط.

قواعد الحل

تتبع الفحوص قسم Schema Resolution من مواصفة Avro 1.11: يُرقّى int إلى long وfloat وdouble؛ وlong إلى float وdouble؛ وfloat إلى double؛ ويمكن ترقية string وbytes كل منهما إلى الآخر. تتطابق السجلات بالاسم الكامل أو الاسم غير المؤهل أو اسم مستعار للقارئ. يحتاج حقل القارئ الذي لا يملكه الكاتب إلى قيمة افتراضية صالحة. يجب أن يتضمن تعداد القارئ كل رمز لدى الكاتب ما لم يكن له افتراضي. يجب أن يُحل كل فرع من اتحاد الكاتب لدى القارئ.

حدود الفحص

يفحص هذا حل المخطط في Avro لا القواعد الإضافية لسجل مخططات بعينه. يجب أن تتساوى precision وscale في الأنواع المنطقية العشرية الصالحة، لكل من ترميزي bytes وfixed. تُفسّر الأنواع المنطقية المجهولة أو غير الصالحة وفق نوع Avro الأساسي. تُفحص القيم الافتراضية للاتحاد مقابل الفرع الأول؛ وتُتحقق القيم الافتراضية المتداخلة تكراريًا.

خطوات تالية مفيدة