Azure Stream Analytics veri hataları

Veri hataları, Azure Stream Analytics akış verilerinizi işlediğinde meydana gelir. Bu hatalar en sık veri seri durumdan çıkarma, serileştirme ve yazma işlemleri sırasında meydana gelir. Veri hataları oluştuğunda Stream Analytics ayrıntılı bilgileri ve örnek olayları kaynak günlüklerine yazar. Bu ek bilgileri almak için işinizde tanı kayıtlarını etkinleştirin. Bazı durumlarda, portal bildirimleri de bu bilgilerin özetini sunar.

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 Tanılama günlüklerini kullanarak Azure Stream Analytics sorunlarını giderme konusuna bakın. 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.GeçersizSıkıştırmaTürü

  • Sebep: Seçtiğiniz giriş sıkıştırma türü veriyle eşleşmiyor.
  • Portal bildirimi sağlandı: Evet
  • Kaynak günlüğü düzeyi: Uyarı
  • Etki: Stream Analytics, geçersiz sıkıştırma türü dahil olmak üzere seri dışı bırakma hataları içeren mesajları girdiden çıkarır.
  • Günlük ayrıntıları:
    • Giriş iletisi tanımlayıcısı. Azure Event Hubs için tanımlayıcı PartitionId, Offset ve Sequence Number'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."

GirişSerileştiriciHatası.GeçersizBaşlık

  • 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 başlık dahil herhangi bir seri kartı çıkarma hatasına sahip mesajlar girdiden çıkarılır.
  • Günlük ayrıntıları:
    • Giriş iletisi tanımlayıcısı.
    • Fiilî yük birkaç kilobayta kadar.

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

InputÇözücüHatası.KayıpSütunlar

  • Sebep: Ile CREATE TABLE veya aracılığıyla TIMESTAMP BY tanımladığınız giriş sütunları yoktur.
  • Portal bildirimi sağlandı: Evet
  • Kaynak günlüğü düzeyi: Uyarı
  • Etki: Eksik sütunlara sahip olaylar girdiden çıkarılır.
  • Günlük ayrıntıları:
    • Giriş iletisi tanımlayıcısı.
    • Eksik sütunların adları.
    • Gerçek faydalı yük birkaç kilobayta kadar olabilir.

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"

GirdiSerileştiriciHatası.TürDönüştürmeHatası

  • Neden: Stream Analytics, girdiyi CREATE TABLE deyiminde belirttiğiniz türe dönüştüremiyor.
  • Portal bildirimi sağlandı: Evet
  • Kaynak günlüğü düzeyi: Uyarı
  • Etki: Stream Analytics, girdiden tür dönüşüm hatası içeren olayları düşürü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 - Geçersiz veri hatası

  • Sebep: Girdi veri doğru formatta değil. Örneğin, giriş geçerli JSON değil.
  • Portal bildirimi sağlandı: Evet
  • Kaynak günlüğü düzeyi: Uyarı
  • Etki: Stream Analytics, geçersiz bir veri hatası ile karşılaştıktan sonra mesajdaki tüm olayları düşürür.
  • Günlük ayrıntıları:
    • Giriş iletisi tanımlayıcısı.
    • Gerçek veri yükü birkaç kilobayta kadar olabilir.

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"

Geçersiz Giriş Zaman Damgası

  • 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.
    • Fiili yük birkaç kilobayta kadar.

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 girdi zaman damgası anahtarına sahip olaylar girdiden çıkarılır.
  • Günlük ayrıntıları:
    • Gerçek yük birkaç kilobayta kadar.

Hata İletisi

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

LateInputEvent

  • Sebep: Başvuru zamanı ile varış süresi arasındaki fark, geç varış tolerans penceresinden daha büyüktür.
  • Portal bildirimi mevcut: 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 Zaman İşleme Politikaları'na bakınız.
  • Günlük ayrıntıları:
    • Uygulama zamanı ve varış saati.
    • Gerçek faydalı yük boyutu birkaç kilobayta kadar.

Hata İletisi

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

EarlyInputEvent

  • Sebep: Başvuru süresi ile varış süresi arasındaki fark beş dakikadan fazladır.
  • Portal bildirimi: 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 Zaman İşleme Politikaları'na bakınız.
  • Günlük ayrıntıları:
    • Uygulama zamanı ve varış saati.
    • Gerçek veri yükü birkaç kilobayta kadar olabilir.

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

  • Sebep: Olay, tanımlı sırasızlık tolerans penceresine göre sıra dışıdır.
  • Portal bildirimi mevcut: Hayır
  • Kaynak günlüğü düzeyi: Bilgi
  • Etki: İş, iş yapılandırmasındaki Olay Sıralaması bölümünde yer alan Diğer olayları işle ayarına göre sıra dışı olayları işler. Daha fazla bilgi için Zaman İşleme Politikaları'na bakınız.
  • Günlük ayrıntıları:
    • Gerçek veri yükü birkaç kilobayta kadar olabilir.

Hata İletisi

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

Çıkış verileri hataları

Azure Stream Analytics, yapılandırmaya bağlı olarak çıkış hedefine bir G/Ç isteği göndererek veya göndermeden çıkış verilerindeki hataları belirleyebilir. Örneğin, Stream Analytics eksik bir gerekli sütunu, PartitionKeyörneğin Azure Table çıktısını kullandığınızda, I/O isteği olmadan tespit edebilir. Ancak, SQL çıkışındaki kısıtlama ihlalleri bir G/Ç isteği gerektirir.

Stream Analytics, çıkış yukotucusunu çağırdıktan sonra birkaç veri hatasını tespit edebilir, bu da işlemeyi yavaşlatabilir. Bu sorunu çözmek için, işinizin yapılandırmasını veya veri hatasına neden olan sorguyu değiştirin.

ÇıkışVeriDönüşümHatası.GerekliSütunEksik

  • 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: Output Data Policy ayarı, eksik gerekli sütunlar dahil olmak üzere tüm çıktı veri dönüşüm hatalarını yönetir.
  • 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.SütunAdıGeçersiz

  • 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."

ÇıkışVerisiDönüştürmeHatası.TipDönüştürmeHatası

  • 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."

Çıkış Verisi Dönüştürme Hatası. Kayıt Boyut Sınırını Aştı.

  • Neden: İletinin değeri desteklenen çıkış boyutundan büyük. Örneğin, bir kayıt, bir olay merkezi çıktısı için 1 MB'den büyüktü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 İletisi

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

OutputDataConversionError.DuplicateKey

  • Sebep: Bir kayıt, sistem sütunuyla aynı isimde bir sütun zaten içerir. Örneğin, ID sütunu farklı bir sütuna eşlendiğinde Azure Cosmos DB, ID adlı bir sütun içeren çıktı üretir.
  • 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ı.

Hata İletisi

"BriefMessage": "Column 'devicePartitionKey' is being mapped to multiple columns."

Sonraki adımlar