Azure Stream Analytics veri hataları

Veri hataları, veriler işlenirken oluşan hatalardır. Bu hatalar en çok 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, 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ı olan 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 iletisi

"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ı.
    • Birkaç kilobayta kadar gerçek yük.

Hata iletisi

"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ı.
    • Gerçek yük birkaç kilobayta kadardı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": "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ı.
    • Birkaç kilobayta kadar gerçek yük.

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.
    • Birkaç kilobayta kadar gerçek yük.

Hata iletisi

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

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

LateInputEvent

  • Neden: Uygulama saati ile varış saati arasındaki fark, geç varış tolerans penceresinden daha 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ı
    • Başvuru zamanı ve varış saati.
    • Birkaç kilobayta kadar gerçek yük.

Hata iletisi

"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 fazladır.
  • 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ı
    • Başvuru zamanı ve varış saati.
    • Birkaç kilobayta kadar gerçek yük.

Hata iletisi

"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 sıra dışı tolerans penceresine göre sıra dışı olarak kabul edilir.
  • Portal bildirimi sağlandı: Hayır
  • Kaynak günlüğü düzeyi: Bilgiler
  • 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ı
    • Birkaç kilobayta kadar gerçek yük.

Hata iletisi

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

Çıkış verileri hataları

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

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 Table 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 iletisi

"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 tablosu 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 iletisi

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

OutputDataConversionError.TypeConversionError

  • Neden: Sütun çıkışta 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 iletisi

"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, bir olay hub'ı çıkışı için kayıt 1 MB'tan büyük olmalıdır.
  • 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 iletisi

"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, CosmosDB çıktısı ID sütunu farklı bir sütun olduğunda ID adlı bir sütuna sahip.
  • 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