Share via


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 ile Stream Analytics mimarisini gösteren diyagram.

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.

  1. Azure portal sol üstteki portal menüsünü genişletin ve Kaynak oluştur'u seçin.

  2. Sonuçlar listesinden Analytics>Stream Analytics işi'ni seçin.

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

    Stream Analytics iş formu oluşturma işlemini gösteren ekran görüntüsü.

  5. İş girişini yapılandırın.

    Stream Analytics'te iş girişini yapılandırmayı gösteren ekran görüntüsü.

    1. Kaynak dağıtımı tamamlandıktan sonra Stream Analytics işinize gidin. Girişler>Akış girişi> ekle IoT Hub'yi seçin.

    2. 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.
    3. Kaydet’i seçin.

    4. 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"
         }
      }
      
  6. İş çıkışını yapılandırın.

    1. Stream Analytics işi sayfasında Çıkışlar>PostgreSQL veritabanıekle> (önizleme) öğesini seçin.

      PostgreSQL veritabanı çıkışını seçmeyi gösteren ekran görüntüsü.

    2. 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.
    3. Kaydet’i seçin.

    Azure Stream Analytics'te iş çıktısı yapılandırma.

  7. Dönüştürme sorgusunu tanımlayın.

    Azure Stream Analytics'te dönüştürme sorgusu.

    1. Stream Analytics işi sayfasında soldaki menüden Sorgu'yu seçin.

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

  8. Stream Analytics işini başlatın ve çıkışı doğrulayın.

    1. İşe genel bakış sayfasına dönün ve Başlat’ı seçin.

    2. İşi başlat sayfasında İş çıktısı başlangıç zamanı için Şimdi'yi ve ardından Başlat'ı seçin.

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