Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Tip
Veri akışı grafikleri, filtre ve dal dönüşümünde zenginleştirme ve pencere dönüşümleri için tetikleme kuralları gibi genişletilmiş yeteneklerle zenginleştirmeyi destekler; bunlar 1.1 veya daha yeni sürümleri gerektirir. MQTT, Kafka veya OpenTelemetry uç noktalarını kullanan yeni projeler için bkz. Veri akışı grafiklerinde dış verilerle zenginleştirme.
Bağlamsallaştırma veri kümeleri işlevini kullanarak verileri zenginleştirebilirsiniz. Gelen kayıtlar işlendiğinde, gelen kaydın alanlarıyla ilgili koşullara göre bu veri kümelerini sorgulayabilirsiniz. Bu özellik dinamik etkileşimlere olanak tanır. Bu veri kümelerindeki veriler, çıkış alanlarındaki bilgileri desteklemek ve eşleme işlemi sırasında karmaşık hesaplamalara katılmak için kullanılabilir.
Örnek verileri durum deposuna yüklemek için durum deposu CLI'sini kullanın.
Örneğin, JSON satırları biçimini kullanarak birkaç kayıt içeren aşağıdaki veri kümesini göz önünde bulundurun:
{ "Position": "Analyst", "BaseSalary": 70000, "WorkingHours": "Regular" }
{ "Position": "Receptionist", "BaseSalary": 43000, "WorkingHours": "Regular" }
Eşleyici, eşleme yapılandırmasında belirtilen bir koşula göre bir anahtar değeri kullanarak Azure IoT İşlemleri durum deposunda depolanan başvuru veri kümesine erişir. Durum deposundaki anahtar adları, veri akışı yapılandırmasındaki bir veri kümesine karşılık gelir.
datasets: [
{
key: 'position',
inputs: [
'$source.Position' // - $1
'$context.Position' // - $2
],
expression: '$1 == $2'
}
]
Yeni bir kayıt işlenirken eşleyici aşağıdaki adımları gerçekleştirir:
-
Veri isteği: Eşleyici, anahtarı
Positionaltında depolanan veri kümesini almak için durum deposuna bir istek gönderir. -
Kayıt eşleştirme: Eşleyici daha sonra veri kümesindeki alanın gelen kaydın
Positionalanıyla eşleştiğiPositionilk kaydı bulmak için bu veri kümesini sorgular.
{
inputs: [
'$context(position).WorkingHours' // - $1
]
output: 'WorkingHours'
}
{
inputs: [
'BaseSalary' // - - - - - - - - - - - - $1
'$context(position).BaseSalary' // - - $2
]
output: 'BaseSalary'
expression: 'if($1 == (), $2, $1)'
}
Bu örnekte, WorkingHours alanı çıkış kaydına eklenirken, BaseSalary yalnızca gelen kayıt BaseSalary alanını içermediğinde (veya değer, eğer bir null atanabilir alan ise null) koşullu olarak kullanılır. Bağlamsallaştırma verileri isteği gelen her kayıtta gerçekleşmez. Eşleyici veri kümesini istiyor ve ardından veri kümesinin önbelleğe alınmış bir sürümünü kullanırken durum deposundan değişikliklerle ilgili bildirimler alıyor.
Birden çok veri kümesi kullanmak mümkündür:
datasets: [
{
key: 'position'
inputs: [
'$source.Position' // - $1
'$context.Position' // - $2
],
expression: '$1 == $2'
}
{
key: 'permissions'
inputs: [
'$source.Position' // - $1
'$context.Position' // - $2
],
expression: '$1 == $2'
}
]
Ardından karma referansları kullanın.
inputs: [
'$context(position).WorkingHours' // - $1
'$context(permissions).NightShift' // - $2
]
Girdi referansları, position veya permissions gibi veri kümesinin anahtarını kullanır. Durum deposundaki anahtarın kullanımı uygun değilse, bir diğer ad tanımlayabilirsiniz:
datasets: [
{
key: 'datasets.parag10.rule42 as position'
inputs: [
'$source.Position' // - $1
'$context.Position' // - $2
],
expression: '$1 == $2'
}
]
Yapılandırma, datasets.parag10.rule42 anahtarındaki veri kümesini position olarak yeniden adlandırır.