Dela via


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.

Diagram som visar Stream Analytics-arkitektur med Azure Cosmos DB för PostgreSQL.

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.

  1. I Azure Portal expanderar du portalmenyn längst upp till vänster och väljer Skapa en resurs.

  2. Välj Analytics>Stream Analytics-jobb i resultatlistan.

  3. 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.
  4. 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.

    Skärmbild som visar formuläret skapa Stream Analytics-jobb.

  5. Konfigurera jobbindata.

    Skärmbild som visar hur du konfigurerar jobbindata i Stream Analytics.

    1. När resursdistributionen är klar går du till Stream Analytics-jobbet. Välj Indata>Lägg till strömindata-IoT>Hub.

    2. 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.
    3. Välj Spara.

    4. 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"
         }
      }
      
  6. Konfigurera jobbutdata.

    1. På sidan Stream Analytics-jobb väljer du Utdata>Lägg till>PostgreSQL-databas (förhandsversion).

      Skärmbild som visar hur du väljer PostgreSQL-databasutdata.

    2. 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.
    3. Välj Spara.

    Konfigurera jobbutdata i Azure Stream Analytics.

  7. Definiera transformeringsfrågan.

    Transformeringsfråga i Azure Stream Analytics.

    1. På sidan Stream Analytics-jobb väljer du Fråga på den vänstra menyn.

    2. 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;
      
    3. 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.

  8. Starta Stream Analytics-jobbet och verifiera utdata.

    1. Återgå till jobböversiktssidan och välj Starta.

    2. På sidan Starta jobb väljer du Nu för starttiden för jobbutdata och väljer sedan Start.

    3. 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.