Azure Stream Analytics veri hataları

Veri hataları, veriler işlenirken oluşan hatalardır. Bu hatalar genellikle veri serileştirme, serileştirme ve yazma işlemleri sırasında oluşur. Veri hataları oluştuğunda Stream Analytics ayrıntılı bilgileri ve örnek olayları kaynak günlüklerine yazar. Bu ek ayrıntıları almak için işinizde tanılama günlüklerini etkinleştirin. Bazı durumlarda, portal bildirimleri aracılığıyla bu bilgilerin bir özeti de sağlanır.

Bu makalede, giriş ve çıkış verileri hataları için farklı hata türleri, nedenleri ve kaynak günlüğü ayrıntıları özetlenmiştir.

Kaynak Günlükleri şeması

Kaynak günlüklerinin şemasını görmek için bkz . Tanılama günlüklerini kullanarak Azure Stream Analytics sorunlarını giderme. Aşağıdaki JSON, bir veri hatası için kaynak günlüğünün Özellikler alanına örnek bir değerdir.

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

Giriş verileri hataları

InputDeserializerError.InvalidCompressionType

  • Neden: Seçilen giriş sıkıştırma türü veriyle eşleşmiyor.
  • Portal bildirimi sağlandı: Evet
  • Kaynak günlüğü düzeyi: Uyarı
  • Etki: Geçersiz sıkıştırma türü de dahil olmak üzere seri durumdan çıkarma hatalarına sahip iletiler girişten bırakılır.
  • Günlük ayrıntıları
    • Giriş iletisi tanımlayıcısı. Olay Hub'ı için tanımlayıcı PartitionId, Offset ve Sıra Numarası'dır.

Hata İletisi

"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

  • Neden: Giriş verilerinin üst bilgisi geçersiz. Örneğin, CSV'de yinelenen adlara sahip sütunlar vardır.
  • Portal bildirimi sağlandı: Evet
  • Kaynak günlüğü düzeyi: Uyarı
  • Etki: Geçersiz üst bilgi de dahil olmak üzere seri durumdan çıkarma hatalarına sahip iletiler girişten bırakılır.
  • Günlük ayrıntıları
    • Giriş iletisi tanımlayıcısı.
    • Gerçek yük birkaç kilobayta kadardır.

Hata İletisi

"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

  • Neden: CREATE TABLE veya TIMESTAMP BY ile tanımlanan giriş sütunları yok.
  • Portal bildirimi sağlandı: Evet
  • Kaynak günlüğü düzeyi: Uyarı
  • Etki: Eksik sütunları olan olaylar girişten bırakılır.
  • Günlük ayrıntıları
    • Giriş iletisi tanımlayıcısı.
    • Eksik sütunların adları.
    • Birkaç kilobayta kadar gerçek yük.

Hata iletileri

"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

  • Neden: Giriş CREATE TABLE deyiminde belirtilen türe dönüştürülemiyor.
  • Portal bildirimi sağlandı: Evet
  • Kaynak günlüğü düzeyi: Uyarı
  • Etki: Tür dönüştürme hatası olan olaylar girişten bırakılır.
  • Günlük ayrıntıları
    • Giriş iletisi tanımlayıcısı.
    • Sütunun adı ve beklenen tür.

Hata iletileri

"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

  • Neden: Giriş verileri doğru biçimde değil. Örneğin, giriş geçerli JSON değil.
  • Portal bildirimi sağlandı: Evet
  • Kaynak günlüğü düzeyi: Uyarı
  • Etki: Geçersiz bir veri hatasıyla karşılaşıldıktan sonra iletideki tüm olaylar girişten bırakılır.
  • Günlük ayrıntıları
    • Giriş iletisi tanımlayıcısı.
    • Gerçek yük birkaç kilobayta kadardır.

Hata iletileri

"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

  • Neden: TIMESTAMP BY ifadesinin değeri tarih saatine dönüştürülemez.
  • Portal bildirimi sağlandı: Evet
  • Kaynak günlüğü düzeyi: Uyarı
  • Etki: Geçersiz giriş zaman damgasına sahip olaylar girişten bırakılır.
  • Günlük ayrıntıları
    • Giriş iletisi tanımlayıcısı.
    • Hata iletisi.
    • Gerçek yük birkaç kilobayta kadardır.

Hata İletisi

"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

  • Neden: TIMESTAMP BY OVER timestampColumn değeri NULL'dir.
  • Portal bildirimi sağlandı: Evet
  • Kaynak günlüğü düzeyi: Uyarı
  • Etki: Geçersiz giriş zaman damgası anahtarına sahip olaylar girişten bırakılır.
  • Günlük ayrıntıları
    • Gerçek yük birkaç kilobayta kadardır.

Hata İletisi

"BriefMessage": "Unable to get value of TIMESTAMP BY OVER COLUMN"

LateInputEvent

  • Neden: Uygulama saati ile varış saati arasındaki fark geç varış toleransı penceresinden büyüktür.
  • Portal bildirimi sağlandı: Hayır
  • Kaynak günlüğü düzeyi: Bilgi
  • Etki: Geç giriş olayları, iş yapılandırmasının Olay Sıralama bölümündeki "Diğer olayları işle" ayarına göre işlenir. Daha fazla bilgi için bkz. Zaman İşleme İlkeleri.
  • Günlük ayrıntıları
    • Uygulama zamanı ve varış saati.
    • Gerçek yük birkaç kilobayta kadardır.

Hata İletisi

"BriefMessage": "Input event with application timestamp '2019-01-01' and arrival time '2019-01-02' was sent later than configured tolerance."

EarlyInputEvent

  • Neden: Uygulama saati ile Varış saati arasındaki fark 5 dakikadan uzundur.
  • Portal bildirimi sağlandı: Hayır
  • Kaynak günlüğü düzeyi: Bilgi
  • Etki: Erken giriş olayları, iş yapılandırmasının Olay Sıralama bölümündeki "Diğer olayları işle" ayarına göre işlenir. Daha fazla bilgi için bkz. Zaman İşleme İlkeleri.
  • Günlük ayrıntıları
    • Uygulama zamanı ve varış saati.
    • Gerçek yük birkaç kilobayta kadardır.

Hata İletisi

"BriefMessage": "Input event arrival time '2019-01-01' is earlier than input event application timestamp '2019-01-02' by more than 5 minutes."

OutOfOrderEvent

  • Neden: Olay, tanımlanan sipariş dışı tolerans penceresine göre sıra dışı olarak kabul edilir.
  • Portal bildirimi sağlandı: Hayır
  • Kaynak günlüğü düzeyi: Bilgi
  • Etki: Sıra dışı olaylar, iş yapılandırmasının Olay Sıralama bölümündeki "Diğer olayları işle" ayarına göre işlenir. Daha fazla bilgi için bkz. Zaman İşleme İlkeleri.
  • Günlük ayrıntıları
    • Gerçek yük birkaç kilobayta kadardır.

Hata İletisi

"Message": "Out of order event(s) received."

Çıkış verileri hataları

Azure Stream Analytics, yapılandırmaya bağlı olarak çıkış havuzuna yönelik G/Ç isteğiyle veya istek olmadan çıktı veri hatalarını belirleyebilir. Örneğin, Azure Tablo çıktısı kullanılırken gibi gerekli bir sütunun PartitionKeyeksik olması G/Ç isteği olmadan tanımlanabilir. Ancak, SQL çıkışındaki kısıtlama ihlalleri bir G/Ç isteği gerektirir.

Yalnızca çıkış havuzuna çağrı yaptıktan sonra algılanabilen ve işlemeyi yavaşlatabilen çeşitli veri hataları vardır. Bu sorunu çözmek için işinizin yapılandırmasını veya veri hatasına neden olan sorguyu değiştirin.

OutputDataConversionError.RequiredColumnMissing

  • Neden: Çıkış için gereken sütun yok. Örneğin, Azure Tablo PartitionKey olarak tanımlanan bir sütun yoktur.
  • Portal bildirimi sağlandı: Evet
  • Kaynak günlüğü düzeyi: Uyarı
  • Etki: Eksik gerekli sütun da dahil olmak üzere tüm çıkış veri dönüştürme hataları Çıkış Veri İlkesi ayarına göre işlenir.
  • Günlük ayrıntıları
    • Sütunun adı ve kayıt tanımlayıcısı veya kaydın bir bölümü.

Hata İletisi

"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

  • Neden: Sütun değeri çıkışla uyumlu değil. Örneğin, sütun adı geçerli bir Azure tablo sütunu değildir.
  • Portal bildirimi sağlandı: Evet
  • Kaynak günlüğü düzeyi: Uyarı
  • Etki: Geçersiz sütun adı da dahil olmak üzere tüm çıkış verileri dönüştürme hataları Çıkış Veri İlkesi ayarına göre işlenir.
  • Günlük ayrıntıları
    • Sütunun adı ve kayıt tanımlayıcısı veya kaydın bir bölümü.

Hata İletisi

"Message": "Invalid property name #deviceIdValue. Please refer MSDN for Azure table property naming convention."

OutputDataConversionError.TypeConversionError

  • Neden: Bir sütun çıktıda geçerli bir türe dönüştürülemez. Örneğin, sütun değeri SQL tablosunda tanımlanan kısıtlamalar veya türle uyumsuzdur.
  • Portal bildirimi sağlandı: Evet
  • Kaynak günlüğü düzeyi: Uyarı
  • Etki: Tür dönüştürme hatası da dahil olmak üzere tüm çıkış verileri dönüştürme hataları Çıkış Veri İlkesi ayarına göre işlenir.
  • Günlük ayrıntıları
    • Sütunun adı.
    • Kayıt tanımlayıcısı veya kaydın bir parçası.

Hata İletisi

"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

  • Neden: İletinin değeri desteklenen çıkış boyutundan büyük. Örneğin, olay hub'ı çıkışı için kayıt 1 MB'tan büyük.
  • Portal bildirimi sağlandı: Evet
  • Kaynak günlüğü düzeyi: Uyarı
  • Etki: Boyut sınırını aşan kayıt da dahil olmak üzere tüm çıkış verileri dönüştürme hataları Çıkış Veri İlkesi ayarına göre işlenir.
  • Günlük ayrıntıları
    • Kayıt tanımlayıcısı veya kaydın bir parçası.

Hata İletisi

"BriefMessage": "Single output event exceeds the maximum message size limit allowed (262144 bytes) by Event Hub."

OutputDataConversionError.DuplicateKey

  • Neden: Kayıt zaten Sistem sütunuyla aynı ada sahip bir sütun içeriyor. Örneğin, Id sütunu farklı bir sütuna olduğunda Id adlı bir sütuna sahip CosmosDB çıktısı.
  • Portal bildirimi sağlandı: Evet
  • Kaynak günlüğü düzeyi: Uyarı
  • Etki: Yinelenen anahtar dahil olmak üzere tüm çıkış verileri dönüştürme hataları Çıkış Veri İlkesi ayarına göre işlenir.
  • Günlük ayrıntıları
    • Sütunun adı.
    • Kayıt tanımlayıcısı veya kaydın bir parçası.
"BriefMessage": "Column 'devicePartitionKey' is being mapped to multiple columns."

Sonraki adımlar