Sdílet prostřednictvím


Jak ingestovat data pomocí Azure Stream Analytics ve službě Azure Cosmos DB for PostgreSQL

PLATÍ PRO: Azure Cosmos DB for PostgreSQL (využívající rozšíření databáze Citus do PostgreSQL)

Azure Stream Analytics je modul pro analýzu a zpracování událostí v reálném čase, který je navržený tak, aby zpracovával velké objemy dat rychlého streamování 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.

Diagram znázorňující architekturu Stream Analytics se službou Azure Cosmos DB for PostgreSQL

Azure Cosmos DB for PostgreSQL svítí v úlohách v reálném čase, jako je IoT. Pro tyto úlohy může Stream Analytics fungovat jako bez kódu, výkonné a škálovatelné alternativy k předběžnému zpracování a streamování dat ze služby Azure Event Hubs, Azure IoT Hub a Azure Blob Storage do služby Azure Cosmos DB for PostgreSQL.

Postup nastavení Stream Analytics

Poznámka:

Tento článek používá Azure IoT Hub jako příklad zdroje dat, ale technika se vztahuje na jakýkoli jiný zdroj 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 se nezabývá nastavením simulátoru.

  1. Na webu Azure Portal rozbalte nabídku portálu vlevo nahoře a vyberte Vytvořit prostředek.

  2. V seznamu výsledků vyberte úlohu Stream Analytics Analytics>.

  3. 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 pro identifikaci úlohy Stream Analytics.
    • Oblast – Vyberte oblast Azure pro hostování úlohy Stream Analytics. Pokud chcete dosáhnout lepšího výkonu a snížit náklady na přenos dat, použijte geografickou polohu, která je nejblíže vašim uživatelům.
    • Hostitelské prostředí – Vyberte Cloud , který chcete nasadit do cloudu Azure, nebo Edge , aby se nasadil do zařízení IoT Edge.
    • Jednotky streamování – Vyberte počet jednotek streamování pro výpočetní prostředky, které potřebujete ke spuštění úlohy.
  4. Vyberte položku Zkontrolovat + vytvořit a potom vyberte Vytvořit. V pravém horním rohu by se mělo zobrazit oznámení o probíhajícím nasazení.

    Snímek obrazovky znázorňující formulář vytvoření úlohy Stream Analytics

  5. Konfigurace vstupu úlohy

    Snímek obrazovky znázorňující konfiguraci vstupu úlohy ve Stream Analytics

    1. Po dokončení nasazení prostředku přejděte k úloze Stream Analytics. Vyberte Vstupy>Přidat vstup streamu>IoT Hub.

    2. Na stránce ioT Hubu vyplňte následující hodnoty:

      • Vstupní alias – zadejte název pro identifikaci vstupu úlohy.
      • Předplatné – Vyberte předplatné Azure, které má váš účet ioT Hubu.
      • IoT Hub – Vyberte název centra IoT.
    3. Zvolte Uložit.

    4. Po přidání vstupního streamu 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"
         }
      }
      
  6. Nakonfigurujte výstup úlohy.

    1. Na stránce úlohy Stream Analytics vyberte Outputs>Add>PostgreSQL database (Preview).

      Snímek obrazovky znázorňující výběr výstupu databáze PostgreSQL

    2. 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ázi, tabulku, uživatelské jméno a heslo. Z ukázkové datové sady použijte tabulku device_data.
    3. Zvolte Uložit.

    Konfigurace výstupu úlohy ve službě Azure Stream Analytics

  7. Definujte transformační dotaz.

    Transformační dotaz ve službě Azure Stream Analytics

    1. Na stránce úlohy Stream Analytics vyberte v nabídce vlevo možnost Dotaz .

    2. V tomto kurzu ingestujete pouze alternativní události ze služby IoT Hub do služby Azure Cosmos DB for PostgreSQL, abyste snížili celkovou velikost dat. Zkopírujte a vložte následující dotaz do podokna dotazu:

      select
         counter,
         iothub.connectiondeviceid,
         iothub.correlationid,
         iothub.connectiondevicegenerationid,
         iothub.enqueuedtime
      from
         [src-iot-hub]
      where counter%2 = 0;
      
    3. Vyberte Uložit dotaz.

      Poznámka:

      Dotaz použijete nejen k vzorkování dat, ale také k extrahování požadovaných atributů z datového streamu. Možnost vlastního dotazu pomocí Stream Analytics je užitečná při předběžném zpracování a transformaci dat před jejich ingestováním do databáze.

  8. Spusťte úlohu Stream Analytics a ověřte výstup.

    1. Vraťte se na stránku přehledu úlohy a vyberte Spustit.

    2. Na stránce Spustit úlohu vyberte Nyní pro čas spuštění výstupu úlohy a pak vyberte Spustit.

    3. První spuštění úlohy nějakou dobu trvá, ale jakmile ji aktivujete, bude se spouštět i po doručení dat. Po několika minutách můžete do clusteru zadat dotaz, abyste ověřili, ž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í v současné době není pro Službu Azure Cosmos DB for PostgreSQL podporovaná 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 pomocí služby Azure Cosmos DB for PostgreSQL.