Aracılığıyla paylaş


PostgreSQL için Azure Cosmos DB'de Azure Stream Analytics kullanarak verileri alma

ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Cosmos DB (PostgreSQL'e citus veritabanı uzantısıyla 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. Ayrıca 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'de ön işleme ve akış verilerine kod içermeyen, performanslı ve ölçeklenebilir bir alternatif olarak davranabilir.

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ında 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ız ile 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ırmak için Azure bölgesini seçin. Daha iyi performans 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'a veya bir IoT Edge cihazına dağıtmak için Edge'e tıklayın.
    • 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 ve oluştur'u seçin ve ardından Oluştur seçeneğini belirleyin. Sağ üst köşede Dağıtım devam ediyor bildirimini görmeniz gerekir.

    Stream Analytics oluşturma iş formunu 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'ı 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 olduğ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ş 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 girin. Örnek veri kümesinden tablo device_data kullanın.
    3. Kaydet'i seçin.

    Azure Stream Analytics'te iş çıkışını yapılandırın.

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

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

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

    2. Bu öğreticide, genel veri boyutunu azaltmak için ioT Hub'dan 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ı Sına özelliği şu anda PostgreSQL için Azure Cosmos DB için desteklenmemektedir ve bağlantı düzgün çalışsa bile bir hataya neden olabilir.

Sonraki adımlar

PostgreSQL için Azure Cosmos DB ile gerçek zamanlı pano oluşturmayı öğrenin.