إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تحدث أخطاء البيانات عندما يعالج Azure Stream Analytics بيانات البث الخاصة بك. تحدث هذه الأخطاء غالبا أثناء عمليات إلغاء تسلسل البيانات، والتسلسل المستمر، والكتابة. عند حدوث أخطاء في البيانات، يكتب Stream Analytics معلومات مفصلة وأمثلة للأحداث إلى سجلات الموارد. فعل سجلات التشخيص في عملك للحصول على هذه التفاصيل الإضافية. في بعض الحالات، توفر إشعارات البوابة ملخصا لهذه المعلومات.
توضح هذه المقالة تفاصيل أنواع الأخطاء المختلفة وأسبابها وسجل الموارد في أخطاء بيانات الإدخال والإخراج.
مخطط سجلات الموارد
لرؤية مخطط سجلات الموارد، راجع Troubleshoot Azure Stream Analytics باستخدام سجلات التشخيص. فيما يلي مثال على خطأ في البيانات في قيمة JSON في الحقل Properties لسجل الموارد.
{
"Source": "InputTelemetryData",
"Type": "DataError",
"DataErrorType": "InputDeserializerError.InvalidData",
"BriefMessage": "JSON input stream should either be an array of objects or line separated objects. Found token type: Integer",
"Message": "Input Message Id: https:\\/\\/exampleBlob.blob.core.windows.net\\/inputfolder\\/csv.txt Error: JSON input stream should either be an array of objects or line separated objects. Found token type: Integer",
"ExampleEvents": "[\"1,2\\\\u000d\\\\u000a3,4\\\\u000d\\\\u000a5,6\"]",
"FromTimestamp": "2019-03-22T22:34:18.5664937Z",
"ToTimestamp": "2019-03-22T22:34:18.5965248Z",
"EventCount": 1
}
أخطاء بيانات الإدخال
InputDeserializerError.InvalidCompressionType
- السبب: نوع ضغط الإدخال الذي اخترته لا يتطابق مع البيانات.
- إعلام المدخل المتوفر: نعم
- مستوى سجل الموارد: تحذير
- التأثير: تقوم Stream Analytics بإسقاط الرسائل التي تحتوي على أي أخطاء إلغاء تتابع، بما في ذلك نوع ضغط غير صالح، من الإدخال.
- تفاصيل السجل:
- معرف رسالة الإدخال. بالنسبة ل مراكز أحداث Azure، المعرف هو PartitionId وOffset وSequence Number.
رسالة الخطأ
"BriefMessage": "Unable to decompress events from resource 'https:\\/\\/exampleBlob.blob.core.windows.net\\/inputfolder\\/csv.txt'. Please ensure compression setting fits the data being processed."
InputDeserializerError.InvalidHeader
- السبب: عنوان بيانات الإدخال غير صحيح. على سبيل المثال، يحتوي CSV على أعمدة بأسماء مكررة.
- إعلام المدخل المتوفر: نعم
- مستوى سجل الموارد: تحذير
- التأثير: يتم إسقاط الرسائل التي تحتوي على أي أخطاء في إلغاء التسلسل، بما في ذلك رأس غير صالح، من الإدخال.
- تفاصيل السجل:
- معرف رسالة الإدخال.
- يصل حجم البيانات الأساسية إلى بضعة كيلوبايتات.
رسالة الخطأ
"BriefMessage": "Invalid CSV Header for resource 'https:\\/\\/exampleBlob.blob.core.windows.net\\/inputfolder\\/csv.txt'. Please make sure there are no duplicate field names."
InputDeserializerError.MissingColumns
- السبب: الأعمدة التي تعرفها مع
CREATE TABLEأو من خلالهاTIMESTAMP BYغير موجودة. - إعلام المدخل المتوفر: نعم
- مستوى سجل الموارد: تحذير
- التأثير: تسقط الأحداث التي بها أعمدة مفقودة من الإدخال.
- تفاصيل السجل:
- معرف رسالة الإدخال.
- أسماء الأعمدة المفقودة.
- يصل حجم البيانات الأساسية إلى بضعة كيلوبايتات.
رسائل الخطأ
"BriefMessage": "Could not deserialize the input event(s) from resource 'https:\\/\\/exampleBlob.blob.core.windows.net\\/inputfolder\\/csv.txt' as Csv. Some possible reasons: 1) Malformed events 2) Input source configured with incorrect serialization format"
"Message": "Missing fields specified in query or in create table. Fields expected:ColumnA Fields found:ColumnB"
InputDeserializerError.TypeConversionError
- السبب: لا تستطيع Stream Analytics تحويل المدخلات إلى النوع الذي حددته في البيان
CREATE TABLE. - إعلام المدخل المتوفر: نعم
- مستوى سجل الموارد: تحذير
- التأثير: يقوم Stream Analytics بحذف الأحداث التي تحتوي على خطأ في تحويل النوع من الإدخال.
- تفاصيل السجل:
- معرف رسالة الإدخال.
- اسم العمود والنوع المتوقع.
رسائل الخطأ
"BriefMessage": "Could not deserialize the input event(s) from resource '''https:\\/\\/exampleBlob.blob.core.windows.net\\/inputfolder\\/csv.txt ' as Csv. Some possible reasons: 1) Malformed events 2) Input source configured with incorrect serialization format"
"Message": "Unable to convert column: dateColumn to expected type."
InputDeserializerError.InvalidData
- السبب: بيانات الإدخال ليست في الصيغة الصحيحة. على سبيل المثال، الإدخال ليس JSON صالح.
- إعلام المدخل المتوفر: نعم
- مستوى سجل الموارد: تحذير
- التأثير: تقوم تحليلات التدفق بحذف جميع الأحداث في الرسالة بعد أن تواجه خطأ بيانات غير صالح.
- تفاصيل السجل:
- معرف رسالة الإدخال.
- يصل حجم البيانات الأساسية إلى بضعة كيلوبايتات.
رسائل الخطأ
"BriefMessage": "JSON input stream should either be an array of objects or line separated objects. Found token type: String"
"Message": "JSON input stream should either be an array of objects or line separated objects. Found token type: String"
InvalidInputTimeStamp
- السبب: لا يمكن تحويل قيمة تعبير TIMESTAMP BY إلى التاريخ والوقت.
- إعلام المدخل المتوفر: نعم
- مستوى سجل الموارد: تحذير
- التأثير: تسقط الأحداث التي بها الطابع الزمني للإدخال غير الصالح من الإدخال.
- تفاصيل السجل:
- معرف رسالة الإدخال.
- رسالة الخطأ.
- يصل حجم البيانات الأساسية إلى بضعة كيلوبايتات.
رسالة الخطأ
"BriefMessage": "Unable to get timestamp for resource 'https:\\/\\/exampleBlob.blob.core.windows.net\\/inputfolder\\/csv.txt ' due to error 'Cannot convert string to datetime'"
InvalidInputTimeStampKey
- السبب: قيمة TIMESTAMP BY OVER timestampColumn هي NULL.
- إعلام المدخل المتوفر: نعم
- مستوى سجل الموارد: تحذير
- التأثير: تسقط الأحداث التي بها مفتاح الطابع الزمني للإدخال غير الصالح من الإدخال.
- تفاصيل السجل:
- الحمولة الفعلية تصل إلى بضعة كيلوبايت.
رسالة الخطأ
"BriefMessage": "Unable to get value of TIMESTAMP BY OVER COLUMN"
LateInputEvent
- السبب: الفرق بين وقت التطبيق ووقت الوصول أكبر من نافذة تحمل الوصول المتأخر.
- إعلام المدخل المتوفر: لا
- مستوى سجل الموارد: معلومات
- التأثير: تعالَج أحداث الإدخال المتأخرة وفقاً لإعداد معالجة الأحداث الأخرى «Handle other events» في قسم «Event Ordering» في تكوين المهمة. لمزيد من المعلومات، راجع سياسات إدارة الوقت.
- تفاصيل السجل:
- وقت التطبيق ووقت الوصول.
- يصل حجم البيانات الأساسية إلى بضعة كيلوبايتات.
رسالة الخطأ
"BriefMessage": "Input event with application timestamp '2019-01-01' and arrival time '2019-01-02' was sent later than configured tolerance."
حدث في وقت مبكر
- السبب: الفرق بين وقت التطبيق ووقت الوصول أكبر من خمس دقائق.
- إعلام المدخل المتوفر: لا
- مستوى سجل الموارد: معلومات
- التأثير: تعالَج أحداث الإدخال المبكرة وفقاً لإعداد معالجة الأحداث الأخرى «Handle other events» في قسم «Event Ordering» في تكوين المهمة. لمزيد من المعلومات، راجع سياسات إدارة الوقت.
- تفاصيل السجل:
- وقت التطبيق ووقت الوصول.
- يصل حجم البيانات الأساسية إلى بضعة كيلوبايتات.
رسالة الخطأ
"BriefMessage": "Input event arrival time '2019-01-01' is earlier than input event application timestamp '2019-01-02' by more than 5 minutes."
حدث OutOfOrderEvent
- السبب: الحدث غير مرتبة وفقا لنافذة التحمل خارج الترتيب المحددة.
- إعلام المدخل المتوفر: لا
- مستوى سجل الموارد: معلومات
- التأثير: تتعامل الوظيفة مع الأحداث غير المرتبة وفقا لإعداد التعامل مع الأحداث الأخرى في قسم ترتيب الأحداث في تكوين الوظيفة. لمزيد من المعلومات، راجع سياسات إدارة الوقت.
- تفاصيل السجل:
- يصل حجم البيانات الأساسية إلى بضعة كيلوبايتات.
رسالة الخطأ
"Message": "Out of order event(s) received."
أخطاء بيانات الإخراج
يمكن أن يحدد Azure Stream Analytics أخطاء بيانات الإخراج مع أو من دون طلب الإدخال/الإخراج إلى متلقي الإخراج اعتماداً على التكوين. على سبيل المثال، يمكن لتحليل التدفق تحديد عمود مطلوب مفقود، مثل PartitionKey، عند استخدام مخرجات جدول Azure، دون الحاجة إلى طلب إدخال/إخراج. ومع ذلك، خرق القيد في إخراج SQL يشترط طلب الإدخال/الإخراج.
يمكن لتحليل التدفق اكتشاف عدة أخطاء بيانات فقط بعد استدعاء مخرج الإخراج، مما قد يبطئ المعالجة. لحل هذه المشكلة، غير تكوين وظيفتك أو الاستعلام الذي يسبب خطأ البيانات.
OutputDataConversionError.RequiredColumnMissing
- السبب: العمود المطلوب للإخراج غير موجود. على سبيل المثال، عمود معرف على أنه Azure Table PartitionKey غير موجود.
- إعلام المدخل المتوفر: نعم
- مستوى سجل الموارد: تحذير
- التأثير: إعداد سياسة بيانات الإخراج يتعامل مع جميع أخطاء تحويل بيانات الإخراج، بما في ذلك الأعمدة المطلوبة المفقودة.
- تفاصيل السجل:
- اسم العمود وإما معرف السجل أو جزء من السجل.
رسالة الخطأ
"Message": "The output record does not contain primary key property: [deviceId] Ensure the query output contains the column [deviceId] with a unique non-empty string less than '255' characters."
OutputDataConversionError.ColumnNameInvalid
- السبب: قيمة العمود لا تتوافق مع الإخراج. على سبيل المثال، اسم العمود غير صالح لعمود جدول Azure.
- إعلام المدخل المتوفر: نعم
- مستوى سجل الموارد: تحذير
- التأثير: تعالَج جميع أخطاء تحويل بيانات الإخراج بما في ذلك اسم العمود غير الصالح وفقاً لإعداد Output Data Policy.
- تفاصيل السجل:
- اسم العمود وإما معرف السجل أو جزء من السجل.
رسالة الخطأ
"Message": "Invalid property name #deviceIdValue. Please refer MSDN for Azure table property naming convention."
OutputDataConversionError.TypeConversionError
- السبب: لا يمكن تحويل العمود إلى نوع صالح في الإخراج. على سبيل المثال، قيمة العمود لا تتوافق مع القيود أو النوع المحدد في جدول SQL.
- إعلام المدخل المتوفر: نعم
- مستوى سجل الموارد: تحذير
- التأثير: تعالَج جميع أخطاء تحويل بيانات الإخراج بما في ذلك خطأ تحويل النوع وفقاً لإعداد Output Data Policy.
- تفاصيل السجل:
- اسم العمود.
- إما معرف السجل أو جزء من السجل.
رسالة الخطأ
"Message": "The column [id] value null or its type is invalid. Ensure to provide a unique non-empty string less than '255' characters."
OutputDataConversionError.RecordExceededSizeLimit
- السبب: قيمة الرسالة أكبر من حجم الإخراج المدعوم. على سبيل المثال، السجل أكبر من 1 ميجابايت لمخرج مركز الأحداث.
- إعلام المدخل المتوفر: نعم
- مستوى سجل الموارد: تحذير
- التأثير: تعالَج جميع أخطاء تحويل بيانات الإخراج بما في ذلك السجل الذي تجاوز حد الحجم وفقاً لإعداد Output Data Policy.
- تفاصيل السجل:
- إما معرف السجل أو جزء من السجل.
رسالة الخطأ
"BriefMessage": "Single output event exceeds the maximum message size limit allowed (262144 bytes) by Event Hub."
OutputDataConversionError.DuplicateKey
- السبب: يحتوي السجل بالفعل على عمود يحمل نفس اسم عمود النظام. على سبيل المثال، يخرج Azure Cosmos DB بعمود يسمى ID عندما يكون عمود المعرف إلى عمود مختلف.
- إعلام المدخل المتوفر: نعم
- مستوى سجل الموارد: تحذير
- التأثير: تعالَج جميع أخطاء تحويل بيانات الإخراج بما في ذلك المفتاح المكرر وفقاً لإعداد Output Data Policy.
- تفاصيل السجل:
- اسم العمود.
- إما معرف السجل أو جزء من السجل.
رسالة الخطأ
"BriefMessage": "Column 'devicePartitionKey' is being mapped to multiple columns."