Menggunakan nilai terakhir yang diketahui dalam alur Pratinjau Prosesor Data Azure IoT
Penting
Pratinjau Operasi Azure IoT – diaktifkan oleh Azure Arc saat ini dalam PRATINJAU. Anda tidak boleh menggunakan perangkat lunak pratinjau ini di lingkungan produksi.
Lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure untuk persyaratan hukum yang berlaku pada fitur Azure dalam versi beta, pratinjau, atau belum dirilis secara umum.
Gunakan tahap nilai terakhir yang diketahui (LKV) dalam alur pemroses data untuk mempertahankan catatan terbaru dan lengkap data Anda. Tahap LKV melacak nilai terbaru pasangan kunci-nilai untuk pesan dalam alur. Tahap kemudian dapat memperkaya pesan dengan menggunakan nilai LKV yang dilacak. Pelacakan dan pengayaan nilai terakhir yang diketahui penting untuk proses hilir yang mengandalkan:
- Beberapa titik data rangkaian waktu pada tanda waktu tertentu.
- Payload yang selalu memiliki nilai untuk kunci tertentu.
Dalam alur pemrosesan data, tahap LKV adalah tahap opsional. Saat menggunakan tahap LKV, Anda dapat:
- Tambahkan beberapa tahap LKV ke alur. Setiap tahap LKV dapat melacak beberapa nilai.
- Perkaya pesan dengan nilai LKV yang disimpan, memastikan data tetap lengkap dan komprehensif.
- Terus perbarui LKV secara otomatis dengan nilai terbaru dari pesan masuk.
- Lacak LKV secara terpisah untuk setiap partisi logis. Tahap LKV beroperasi secara independen di setiap partisi logis.
- Konfigurasikan waktu kedaluwarsa untuk setiap LKV yang dilacak untuk mengelola durasi agar tetap valid. Kontrol ini membantu memastikan bahwa pesan tidak diperkaya dengan nilai basi.
Tahap LKV mempertahankan integritas data kronologis. Tahap ini memastikan bahwa pesan dengan tanda waktu sebelumnya tidak menimpa atau mengganti LKV dengan pesan yang memiliki tanda waktu di lain waktu.
Tahap LKV memperkaya pesan masuk dengan nilai terakhir yang diketahui yang dilacaknya. Nilai yang diperkaya ini mewakili data yang direkam sebelumnya, dan belum tentu merupakan nilai real-time saat ini. Pastikan perilaku ini selaras dengan ekspektasi pemrosesan data Anda.
Prasyarat
Untuk mengonfigurasi dan menggunakan tahap alur agregat, Anda memerlukan instans Pratinjau Prosesor Data Azure IoT yang disebarkan.
Mengonfigurasi tahap
Konfigurasi JSON tahap LKV menentukan detail tahapan. Untuk menulis tahapan, Anda dapat berinteraksi dengan UI berbasis formulir, atau menyediakan konfigurasi JSON pada tab Tingkat Lanjut :
Jika Anda menyertakan jalur tanda waktu, ini membantu Anda memahami dengan tepat ketika LKV direkam dan meningkatkan transparansi dan keterlacakan.
inputPath
Sama outputPath
Pesan keluar adalah nilai pesan aktual, atau LKV jika kunci yang dilacak hilang dari payload pesan. Setiap nilai masuk lebih diprioritaskan dan tahapan tidak menimpanya dengan LKV. Untuk mengidentifikasi apakah nilai pesan adalah nilai LKV, gunakan jalur tanda waktu. Jalur tanda waktu hanya disertakan dalam pesan keluar jika nilai dalam pesan adalah LKV yang dilacak.
inputPath
tidak sama dengan outputPath
Tahap menulis LKV ke outputPath
untuk semua pesan masuk. Gunakan konfigurasi ini untuk melacak perbedaan antara nilai dalam payload pesan berikutnya.
Konfigurasi sampel
Contoh berikut menunjukkan contoh pesan untuk tahap LKV dengan pesan tiba pada pukul 10:02 dan dengan payload yang berisi nilai LKV terlacak .payload.temperature
:
{
{
"systemProperties":{
"partitionKey":"pump",
"partitionId":5,
"timestamp":"2023-01-11T10:02:07Z"
},
"qos":1,
"topic":"/assets/pump/#"
},
"payload":{
"humidity": 10,
"temperature":250,
"pressure":30,
"runningState": true
}
}
Konfigurasi LKV:
Bidang | Nilai |
---|---|
Jalur Input* | .payload.temperature |
Jalur Output | .payload.lkvtemperature |
Waktu kedaluwarsa | 10h |
Jalur Tanda Waktu | .payload.lkvtemperature_timestamp |
Nilai LKV yang dilacak adalah:
.payload.temperature
adalah 250.- Tanda waktu LKV adalah
2023-01-11T10:02:07Z
Untuk pesan yang tiba pada pukul 11:05 dengan payload yang tidak memiliki properti suhu, tahap LKV memperkaya pesan dengan nilai yang dilacak:
Contoh input ke tahap LKV pada pukul 11:05:
{
"systemProperties":{
"partitionKey":"pump",
"partitionId":5,
"timestamp":"2023-01-11T11:05:00Z"
},
"qos":1,
"topic":"/assets/pump/#"
},
"payload":{
"runningState": true
}
}
Contoh output dari tahap LKV pada pukul 11:05:
{
"systemProperties":{
"partitionKey":"pump",
"partitionId":5,
"timestamp":"2023-01-11T11:05:00Z"
},
"qos":1,
"topic":"/assets/pump/#"
},
"payload":{
"lkvtemperature":250,
"lkvtemperature_timestamp"":"2023-01-11T10:02:07Z"
"runningState": true
}
}