PostgreSQL için Azure Cosmos DB'de Azure Stream Analytics kullanarak veri alma
ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Cosmos DB (PostgreSQL'e citus veritabanı uzantısı tarafından desteklenir)
Azure Stream Analytics , cihazlardan, algılayıcılardan ve web sitelerinden yüksek hacimli hızlı akış verilerini işlemek için tasarlanmış gerçek zamanlı bir analiz ve olay işleme altyapısıdır. Azure IoT Edge çalışma zamanında da kullanılabilir ve IoT cihazlarında veri işlemeyi etkinleştirir.
PostgreSQL için Azure Cosmos DB , IoT gibi gerçek zamanlı iş yüklerinde parlar. Bu iş yükleri için Stream Analytics, Azure Event Hubs, Azure IoT Hub ve Azure Blob Depolama PostgreSQL için Azure Cosmos DB'ye önceden işlemeye ve akışa veri aktarmaya yönelik kodsuz, performanslı ve ölçeklenebilir bir alternatif olarak hareket edebilir.
Stream Analytics'i ayarlama adımları
Not
Bu makalede örnek veri kaynağı olarak Azure IoT Hub kullanılır, ancak bu teknik Stream Analytics tarafından desteklenen diğer tüm kaynaklar için geçerlidir. Ayrıca, aşağıdaki tanıtım verileri Azure IoT Cihaz Telemetri Simülatörü'nden gelir. Bu makale, simülatörü ayarlamayı kapsamaz.
Azure portal sol üstteki portal menüsünü genişletin ve Kaynak oluştur'u seçin.
Sonuçlar listesinden Analytics>Stream Analytics işi'ni seçin.
Yeni Stream Analytics iş sayfasını aşağıdaki bilgilerle doldurun:
- Abonelik - Bu iş için kullanmak istediğiniz Azure aboneliğini seçin.
- Kaynak grubu - IoT hub'ınızla aynı kaynak grubunu seçin.
- Ad - Stream Analytics işinizi tanımlamak için bir ad girin.
- Bölge - Stream Analytics işinizi barındıracak Azure bölgesini seçin. Daha iyi performans elde etmek ve veri aktarımı maliyetini azaltmak için kullanıcılarınıza en yakın coğrafi konumu kullanın.
- Barındırma ortamı - Azure buluta dağıtmak için Bulut'u veya IoT Edge bir cihaza dağıtmak için Edge'i seçin.
- Akış birimleri - İşi yürütmek için ihtiyacınız olan bilgi işlem kaynakları için akış birimi sayısını seçin.
Gözden Geçir + oluştur’u, sonra da Oluştur’u seçin. Sağ üst köşede Dağıtım devam ediyor bildirimini görmeniz gerekir.
İş girişini yapılandırın.
Kaynak dağıtımı tamamlandıktan sonra Stream Analytics işinize gidin. Girişler>Akış girişi> ekle IoT Hub'yi seçin.
IoT Hub sayfasını aşağıdaki değerlerle doldurun:
- Giriş diğer adı - İş girişini tanımlamak için bir ad girin.
- Abonelik - IoT Hub hesabınızın bulunduğu Azure aboneliğini seçin.
- IoT Hub – IoT hub'ınızın adını seçin.
Kaydet’i seçin.
Giriş akışı eklendikten sonra, içeri akan veri kümesini de doğrulayabilir veya indirebilirsiniz. Aşağıdaki kod, örnek bir olayın verilerini gösterir:
{ "deviceId": "sim000001", "time": "2022-04-25T13:49:11.6892185Z", "counter": 1, "EventProcessedUtcTime": "2022-04-25T13:49:41.4791613Z", "PartitionId": 3, "EventEnqueuedUtcTime": "2022-04-25T13:49:12.1820000Z", "IoTHub": { "MessageId": null, "CorrelationId": "990407b8-4332-4cb6-a8f4-d47f304397d8", "ConnectionDeviceId": "sim000001", "ConnectionDeviceGenerationId": "637842405470327268", "EnqueuedTime": "2022-04-25T13:49:11.7060000Z" } }
İş çıkışını yapılandırın.
Stream Analytics işi sayfasında Çıkışlar>PostgreSQL veritabanıekle> (önizleme) öğesini seçin.
Azure PostgreSQL sayfasını aşağıdaki değerlerle doldurun:
- Çıkış diğer adı - İşin çıkışını tanımlamak için bir ad girin.
- PostgreSQL veritabanı ayarlarını el ile sağla'yı seçin ve Sunucu tam etki alanı adı, Veritabanı, Tablo, Kullanıcı Adı ve Parola'yı girin. Örnek veri kümesinden tablo device_data kullanın.
Kaydet’i seçin.
Dönüştürme sorgusunu tanımlayın.
Stream Analytics işi sayfasında soldaki menüden Sorgu'yu seçin.
Bu öğreticide, genel veri boyutunu azaltmak için IoT Hub'den PostgreSQL için Azure Cosmos DB'ye yalnızca alternatif olayları alırsınız. Aşağıdaki sorguyu kopyalayıp sorgu bölmesine yapıştırın:
select counter, iothub.connectiondeviceid, iothub.correlationid, iothub.connectiondevicegenerationid, iothub.enqueuedtime from [src-iot-hub] where counter%2 = 0;
Sorguyu kaydet'i seçin.
Not
Sorguyu yalnızca verileri örneklemek için değil, aynı zamanda veri akışından istenen öznitelikleri ayıklamak için de kullanırsınız. Stream Analytics ile özel sorgu seçeneği, verileri veritabanına almadan önce işlemeye/dönüştürmeye yardımcı olur.
Stream Analytics işini başlatın ve çıkışı doğrulayın.
İşe genel bakış sayfasına dönün ve Başlat’ı seçin.
İşi başlat sayfasında İş çıktısı başlangıç zamanı için Şimdi'yi ve ardından Başlat'ı seçin.
İşin ilk kez başlatılması biraz zaman alır, ancak tetiklendiğinde veriler geldikçe çalışmaya devam eder. Birkaç dakika sonra, verilerin yüklendiğini doğrulamak için kümeyi sorgulayabilirsiniz.
citus=> SELECT * FROM public.device_data LIMIT 10; counter | connectiondeviceid | correlationid | connectiondevicegenerationid | enqueuedtime ---------+--------------------+--------------------------------------+------------------------------+------------------------------ 2 | sim000001 | 7745c600-5663-44bc-a70b-3e249f6fc302 | 637842405470327268 | 2022-05-25T18:24:03.4600000Z 4 | sim000001 | 389abfde-5bec-445c-a387-18c0ed7af227 | 637842405470327268 | 2022-05-25T18:24:05.4600000Z 6 | sim000001 | 3932ce3a-4616-470d-967f-903c45f71d0f | 637842405470327268 | 2022-05-25T18:24:07.4600000Z 8 | sim000001 | 4bd8ecb0-7ee1-4238-b034-4e03cb50f11a | 637842405470327268 | 2022-05-25T18:24:09.4600000Z 10 | sim000001 | 26cebc68-934e-4e26-80db-e07ade3775c0 | 637842405470327268 | 2022-05-25T18:24:11.4600000Z 12 | sim000001 | 067af85c-a01c-4da0-b208-e4d31a24a9db | 637842405470327268 | 2022-05-25T18:24:13.4600000Z 14 | sim000001 | 740e5002-4bb9-4547-8796-9d130f73532d | 637842405470327268 | 2022-05-25T18:24:15.4600000Z 16 | sim000001 | 343ed04f-0cc0-4189-b04a-68e300637f0e | 637842405470327268 | 2022-05-25T18:24:17.4610000Z 18 | sim000001 | 54157941-2405-407d-9da6-f142fc8825bb | 637842405470327268 | 2022-05-25T18:24:19.4610000Z 20 | sim000001 | 219488e5-c48a-4f04-93f6-12c11ed00a30 | 637842405470327268 | 2022-05-25T18:24:21.4610000Z (10 rows)
Not
Bağlantıyı Test Etme özelliği şu anda PostgreSQL için Azure Cosmos DB için desteklenmemektedir ve bağlantı düzgün çalışsa bile hataya neden olabilir.
Sonraki adımlar
PostgreSQL için Azure Cosmos DB ile gerçek zamanlı pano oluşturmayı öğrenin.