Jak ingestovat data pomocí Azure Stream Analytics ve službě Azure Cosmos DB for PostgreSQL
PLATÍ PRO: Azure Cosmos DB for PostgreSQL (využívá rozšíření databáze Citus pro PostgreSQL)
Azure Stream Analytics je analytický modul a modul zpracování událostí v reálném čase, který je navržený tak, aby zpracovával velké objemy rychle streamovaných dat ze zařízení, senzorů a webů. Je také k dispozici v modulu runtime Azure IoT Edge, který umožňuje zpracování dat na zařízeních IoT.
Azure Cosmos DB for PostgreSQL zářit u úloh v reálném čase, jako je IoT. U těchto úloh může Stream Analytics fungovat jako výkonná a škálovatelná alternativa k předprocesování a streamování dat z Azure Event Hubs, Azure IoT Hub a Azure Blob Storage do služby Azure Cosmos DB for PostgreSQL.
Postup nastavení Stream Analytics
Poznámka
V tomto článku se jako příklad zdroje dat používá Azure IoT Hub, ale tato technika se dá použít pro všechny ostatní zdroje podporované službou Stream Analytics. Následující ukázková data pocházejí také ze simulátoru telemetrie zařízení Azure IoT. Tento článek nepopisuje nastavení simulátoru.
V Azure Portal rozbalte nabídku portálu vlevo nahoře a vyberte Vytvořit prostředek.
V seznamu výsledků vyberte Úloha Stream>Analytics Analytics.
Na stránce Nová úloha Stream Analytics vyplňte následující informace:
- Předplatné – vyberte předplatné Azure, které chcete pro tuto úlohu použít.
- Skupina prostředků – Vyberte stejnou skupinu prostředků jako vaše centrum IoT.
- Název – Zadejte název, který identifikuje vaši úlohu Stream Analytics.
- Oblast – Vyberte oblast Azure pro hostování úlohy Stream Analytics. Použijte zeměpisné umístění, které je nejblíže vašim uživatelům, pro lepší výkon a snížení nákladů na přenos dat.
- Hostitelské prostředí – Vyberte Cloud, který chcete nasadit do cloudu Azure, nebo Edge pro nasazení do IoT Edge zařízení.
- Jednotky streamování – Vyberte počet jednotek streamování pro výpočetní prostředky, které potřebujete ke spuštění úlohy.
Vyberte Zkontrolovat a vytvořit a potom vyberte Vytvořit. V pravém horním rohu by se mělo zobrazit oznámení o průběhu nasazení .
Nakonfigurujte vstup úlohy.
Po dokončení nasazení prostředku přejděte k úloze Stream Analytics. Vyberte Vstupy>Přidat vstup streamu>IoT Hub.
Na stránce IoT Hub vyplňte následující hodnoty:
- Alias vstupu – Zadejte název pro identifikaci vstupu úlohy.
- Předplatné – vyberte předplatné Azure, které má váš účet IoT Hub.
- IoT Hub – Vyberte název centra IoT.
Vyberte Uložit.
Po přidání vstupního datového proudu můžete také ověřit nebo stáhnout tok datové sady. Následující kód ukazuje data pro ukázkovou událost:
{ "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" } }
Nakonfigurujte výstup úlohy.
Na stránce Úloha Stream Analytics vyberte Výstupy>Přidat>databázi PostgreSQL (Preview).
Na stránce Azure PostgreSQL vyplňte následující hodnoty:
- Alias výstupu – Zadejte název pro identifikaci výstupu úlohy.
- Vyberte Zadat nastavení databáze PostgreSQL ručně a zadejte plně kvalifikovaný název domény serveru, Databáze, Tabulka, Uživatelské jméno a Heslo. Z ukázkové datové sady použijte tabulku device_data.
Vyberte Uložit.
Definujte transformační dotaz.
Na stránce úloha Stream Analytics vyberte v nabídce vlevo dotaz .
Pro účely tohoto kurzu ingestujete do služby Azure Cosmos DB for PostgreSQL pouze alternativní události z IoT Hub, abyste snížili celkovou velikost dat. Zkopírujte následující dotaz a vložte ho do podokna dotazu:
select counter, iothub.connectiondeviceid, iothub.correlationid, iothub.connectiondevicegenerationid, iothub.enqueuedtime from [src-iot-hub] where counter%2 = 0;
Vyberte Uložit dotaz.
Poznámka
Dotaz slouží nejen k vzorkování dat, ale také k extrahování požadovaných atributů z datového streamu. Možnost vlastního dotazu se službou Stream Analytics je užitečná při předběžném zpracování nebo transformaci dat před jejich ingestováním do databáze.
Spusťte úlohu Stream Analytics a ověřte výstup.
Vraťte se na stránku přehledu úlohy a vyberte Spustit.
Na stránce Spustit úlohu vyberte Nyní jako čas spuštění výstupu úlohy a pak vyberte Spustit.
První spuštění úlohy nějakou dobu trvá, ale jakmile se aktivuje, poběží i při příchodu dat. Po několika minutách můžete do clusteru zadat dotaz a ověřit, že se data načetla.
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)
Poznámka
Funkce Test připojení se v současné době ve službě Azure Cosmos DB for PostgreSQL nepodporuje a může vyvolat chybu, i když připojení funguje správně.
Další kroky
Zjistěte, jak vytvořit řídicí panel v reálném čase se službou Azure Cosmos DB for PostgreSQL.