Så här matar du in data med hjälp av Azure Stream Analytics i Azure Cosmos DB for PostgreSQL
GÄLLER FÖR: Azure Cosmos DB for PostgreSQL (drivs av Citus-databastillägget till PostgreSQL)
Azure Stream Analytics är en analys- och händelsebearbetningsmotor i realtid som är utformad för att bearbeta stora mängder snabbuppspelningsdata från enheter, sensorer och webbplatser. Den är också tillgänglig på Azure IoT Edge-körningen, vilket möjliggör databearbetning på IoT-enheter.
Azure Cosmos DB for PostgreSQL lyser med realtidsarbetsbelastningar som IoT. För dessa arbetsbelastningar kan Stream Analytics fungera som ett icke-kodbaserat, högpresterande och skalbart alternativ till att förbearbeta och strömma data från Azure Event Hubs, Azure IoT Hub och Azure Blob Storage till Azure Cosmos DB for PostgreSQL.
Steg för att konfigurera Stream Analytics
Kommentar
Den här artikeln använder Azure IoT Hub som exempeldatakälla, men tekniken gäller för alla andra källor som stöds av Stream Analytics. Följande demonstrationsdata kommer också från Telemetrisimulatorn för Azure IoT-enheter. Den här artikeln beskriver inte hur du konfigurerar simulatorn.
I Azure Portal expanderar du portalmenyn längst upp till vänster och väljer Skapa en resurs.
Välj Analytics>Stream Analytics-jobb i resultatlistan.
Fyll i sidan Nytt Stream Analytics-jobb med följande information:
- Prenumeration – Välj den Azure-prenumeration som du vill använda för det här jobbet.
- Resursgrupp – Välj samma resursgrupp som din IoT-hubb.
- Namn – Ange ett namn för att identifiera ditt Stream Analytics-jobb.
- Region – Välj den Azure-region som ska vara värd för ditt Stream Analytics-jobb. Använd den geografiska plats som är närmast dina användare för bättre prestanda och för att minska dataöverföringskostnaden.
- Värdmiljö – Välj Moln för att distribuera till Azure-molnet eller Edge för att distribuera till en IoT Edge-enhet.
- Strömningsenheter – Välj antalet strömningsenheter för de beräkningsresurser som du behöver för att köra jobbet.
Välj Granska + skapa och välj sedan Skapa. Du bör se ett meddelande om att distribution pågår uppe till höger.
Konfigurera jobbindata.
När resursdistributionen är klar går du till Stream Analytics-jobbet. Välj Indata>Lägg till strömindata-IoT>Hub.
Fyll sodan IoT-hubb med följande värden:
- Indataalias – Ange ett namn för att identifiera jobbindata.
- Prenumeration – Välj den Azure-prenumeration som har ditt IoT Hub-konto.
- IoT Hub – Välj namnet på din IoT-hubb.
Välj Spara.
När indataströmmen har lagts till kan du även verifiera eller ladda ned datauppsättningen som flödar in. Följande kod visar data för en exempelhändelse:
{ "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": "aaaa0000-bb11-2222-33cc-444444dddddd", "ConnectionDeviceId": "sim000001", "ConnectionDeviceGenerationId": "637842405470327268", "EnqueuedTime": "2022-04-25T13:49:11.7060000Z" } }
Konfigurera jobbutdata.
På sidan Stream Analytics-jobb väljer du Utdata>Lägg till>PostgreSQL-databas (förhandsversion).
Fyll i Azure PostgreSQL-sidan med följande värden:
- Utdataalias – Ange ett namn för att identifiera jobbets utdata.
- Välj Ange PostgreSQL-databasinställningar manuellt och ange det fullständigt kvalificerade domännamnet Server, Databas, Tabell, Användarnamn och Lösenord. Från exempeldatauppsättningen använder du tabellen device_data.
Välj Spara.
Definiera transformeringsfrågan.
På sidan Stream Analytics-jobb väljer du Fråga på den vänstra menyn.
I den här självstudien matar du bara in de alternativa händelserna från IoT Hub till Azure Cosmos DB för PostgreSQL för att minska den totala datastorleken. Kopiera och klistra in följande fråga i frågefönstret:
select counter, iothub.connectiondeviceid, iothub.correlationid, iothub.connectiondevicegenerationid, iothub.enqueuedtime from [src-iot-hub] where counter%2 = 0;
Välj Spara fråga.
Kommentar
Du använder frågan för att inte bara sampla data, utan även för att extrahera önskade attribut från dataströmmen. Det anpassade frågealternativet med Stream Analytics är användbart vid förbearbetning/transformering av data innan de matas in i databasen.
Starta Stream Analytics-jobbet och verifiera utdata.
Återgå till jobböversiktssidan och välj Starta.
På sidan Starta jobb väljer du Nu för starttiden för jobbutdata och väljer sedan Start.
Jobbet tar lite tid att starta första gången, men när det har utlösts fortsätter det att köras när data tas emot. Efter några minuter kan du fråga klustret för att verifiera att data har lästs in.
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)
Kommentar
Funktionen Testanslutning stöds för närvarande inte för Azure Cosmos DB för PostgreSQL och kan utlösa ett fel, även om anslutningen fungerar bra.
Nästa steg
Lär dig hur du skapar en instrumentpanel i realtid med Azure Cosmos DB for PostgreSQL.