Aracılığıyla paylaş


MetaVeriÖzellikDeğeriniAl

✅ Azure Stream Analytics ✅ Fabric Olay Akışı

Belirli özellikler için giriş verilerini sorgular. Üç tür özellik vardır: Adapter, User ve Unique EventId.

Bağdaştırıcı meta veri özellikleri

Belirli girişe özgü özelliklere GetMetadataPropertyValue işlevi tarafından erişilebilir. Ayrıca, tüm özelliklere tek bir kayıt olarak erişilebilir.

Uyarı

Şu anda bu işlev Azure portalında test edilemez (boş sonuçlar döndürür). Canlı verileri kullanarak sorgunuzda bu işlevi test etmek için Visual Studio Code için ASA uzantısını kullanabilirsiniz.

Event Hubs için varsayılan meta veri özellikleri

  • EventEnqueuedUtcTime
  • EventProcessedUtcTime
  • Bölüm Kimliği
  • Ofset baskı
  • Sıra Numarası
  • PartitionKey (Bölüm Anahtarı)
  • Publisher, gelen olayda kullanılabilir olduğunda

Örnekler:

Event Hubs'dan EventEnqueuedUtcTime alma:

SELECT GetMetadataPropertyValue(ehInput, '[EventHub].[EventEnqueuedUtcTime]') AS mytime FROM ehInput

SELECT GetMetadataPropertyValue(ehInput, 'EventHub') AS myEHPropertiesRecord FROM ehInput

Event Hubs uç noktalarına yönlendirildiğinde IoT Hub özellikleri

Event Hubs uç noktalarına IoT Hub yönlendirme özelliği kullanıldığında meta veri özellikleri Event Hubs'dan özellikleri okuyarak kullanılabilir. Bu durumda, alınabilecek aşağıdaki özellikler:

  • IoTConnectionDeviceId
  • IoTAuthMethod
  • IoTAuthGenerationId
  • IoTEnqueueTime
  • IoTMessageSource
  • IoTConnectionModuleId
  • IoTInterfaceName

Örnek: SELECT GetMetadataPropertyValue(ehInput, '[EventHub].[IoTConnectionDeviceId]') AS myIoTDeviceId FROM ehInput

IoT Hub ileti zenginleştirmesi aracılığıyla eklenen özellikler kullanıcı özellikleri aracılığıyla alınabilir.

IoT Hub için varsayılan meta veri özellikleri

  • ConnectionDeviceId

  • AuthMethod

  • AuthGenerationId

  • EnqueueTime

  • MessageSource

  • ConnectionModuleId

  • InterfaceName

  • CorrelationId

  • MesajKimliği

  • ConnectionDeviceGenerationId

Örnekler:

IoT Hub'dan EnqueuedTime alma:

SELECT GetMetadataPropertyValue(iotInput, 'IoTHub.EnqueuedTime') AS myEnqueuedTime FROM iotInput

SELECT GetMetadataPropertyValue(iotInput, 'IoTHub') AS iotRecord FROM iotInput

Blob girişi için varsayılan meta veri özellikleri:

  • BlobName
  • BlobLastModifiedUtcTime
  • Bölüm Kimliği

Örnek SELECT GetMetadataPropertyValue(blobInput, 'BlobName') AS myBlobName FROM blobInput

Kullanıcı özellikleri

Aşağıdaki örnekte gösterildiği gibi, gelen EventHub/IoT/Blob iletilerinde SenderClientId adlı özel bir kullanıcı özelliği GetMetadataPropertyValue kullanılarak erişilebilir hale getirilir.

Ayrıca, IoT Hub ileti zenginleştirmesi kullanılarak eklenen ikiz özellikleri ve zenginleştirilmiş özellikler de GetMetadataPropertyValue kullanılarak alınabilir.

Örnekler

Olay Hub'ı girişinden sorgulamak için
SELECT Name, GetMetadataPropertyValue(ehInput, '[User].[SenderClientId]') FROM ehInput

IoT Hub girişinden sorgulamak için
SELECT Name, GetMetadataPropertyValue(iotInput, '[User].[SenderClientId]') FROM iotInput

Blob girişinden sorgulamak için
SELECT Name, GetMetadataPropertyValue(blobInput, '[User].[SenderClientId]') FROM blobInput

Tüm kullanıcı özelliklerini kayıt olarak almak için

Olay Hub'ı için:
SELECT Name, GetMetadataPropertyValue(ehInput, '[User]') AS userprops FROM ehInput

IoT Hub için:
SELECT Name, GetMetadataPropertyValue(iotInput, '[User]') AS userprops FROM iotInput

Blob girişi için:
SELECT Name, GetMetadataPropertyValue(blobInput, '[User]') AS userprops FROM blobInput

Benzersiz EventId özelliği

EventId özelliği, birincil anahtar amaçları için yararlı olabilecek bir giriş olayı için benzersiz bir kimlik (Guid) oluşturur. EventId tutarlıdır (rastgele değildir); Zamanda geri dönüp aynı giriş olayını yeniden okursanız Stream Analytics aynı kimliği oluşturur.

Örnek

SELECT GetMetadataPropertyValue(ehInput, 'EventId') AS eventPrimaryKey FROM ehInput

Sınırlamalar ve Kısıtlamalar

GetMetadataPropertyValue aşağıdaki kullanım sınırlamalarına sahiptir:

  • Sorgunuzda kullanmak SELECT * yinelenen sütunlara neden olur. Yinelenen sütunları önlemek için, SELECT deyiminizde sütunları tek tek listeleyin.

  • Meta Veri Özellik Değerinize verdiğiniz diğer ad, sorgunuzda kullanılan büyük/küçük harfe bakılmaksızın küçük harfle gösterilir. Örneğin, SELECT GetMetadataPropertyValue(ehInput, 'EventId') AS eventPrimaryKey olarak eventprimarykeyçıkışlar. Büyük/küçük harf kullanımını korumak için uyumluluk düzeyi 1.2'yi kullanın.

  • Bu işlev, test sorgusu işlevleri de dahil olmak üzere Azure portalı önizleme sonuçları bölmesinde çalışmaz.

  • Veriler ASA'ya ulaşmadan önce origial payload alanlarını yeniden adlandırın. Sistem meta verisi alan adıyla aynıysa yük alanı adının üzerine yazılır.

  • EventHub'ın olay meta verilerinin MessageId ve CorrelationId değeri desteklenmez.