Aracılığıyla paylaş


Öğretici: Veri akışı kullanarak buluta varlık telemetrisi gönderme

Bu öğreticide, MQTT aracısından gelen iletileri Azure Event Hubs hizmetindeki bir olay hub'ına iletmek için bir veri akışı kullanırsınız. Olay hub'ı verileri depolama ve analiz için diğer bulut hizmetlerine teslim edebilir. Sonraki öğreticide, verileri görselleştirmek için gerçek zamanlı bir pano kullanacaksınız.

Önkoşullar

Bu öğreticiye başlamadan önce Öğretici: Azure IoT İşlemleri kümenize OPC UA varlıkları ekleme'yi tamamlamanız gerekir.

Hangi sorunu çözeceğiz?

OPC UA verilerinizi analiz etmek için Gerçek Zamanlı Pano gibi bir araç kullanmak için verileri Azure Event Hubs gibi bir bulut hizmetine göndermeniz gerekir. Veri akışı bir MQTT konusuna abone olabilir ve iletileri Azure Event Hubs ad alanınızdaki bir olay hub'ına iletebilir. Sonraki öğreticide, verilerinizi görselleştirmek ve analiz etmek için Gerçek Zamanlı Panolar'ın nasıl kullanılacağı gösterilmektedir.

Ortam değişkenlerinizi ayarlama

Codespaces ortamını kullanıyorsanız, gerekli ortam değişkenleri zaten ayarlanmıştır ve bu adımı atlayabilirsiniz. Aksi takdirde, kabuğunuzda aşağıdaki ortam değişkenlerini ayarlayın:

# The name of the resource group where your Kubernetes cluster is deployed
RESOURCE_GROUP=<resource-group-name>

# The name of your Kubernetes cluster
CLUSTER_NAME=<kubernetes-cluster-name>

Event Hubs ad alanı oluşturma

Event Hubs ad alanı ve olay hub'ı oluşturmak için kabuğunuzda aşağıdaki Azure CLI komutlarını çalıştırın. Bu komutlar Event Hubs ad alanını Kubernetes kümenizle aynı kaynak grubunda oluşturur:

az eventhubs namespace create --name ${CLUSTER_NAME:0:24} --resource-group $RESOURCE_GROUP --disable-local-auth false

az eventhubs eventhub create --name destinationeh --resource-group $RESOURCE_GROUP --namespace-name ${CLUSTER_NAME:0:24} --retention-time 1 --partition-count 1 --cleanup-policy Delete

Kümenizdeki Azure IoT İşlemleri uzantısına Event Hubs ad alanınıza erişim vermek için aşağıdaki Azure CLI komutlarını çalıştırın:

EVENTHUBRESOURCE=$(az eventhubs namespace show --resource-group $RESOURCE_GROUP --namespace-name ${CLUSTER_NAME:0:24} --query id -o tsv)

PRINCIPAL=$(az k8s-extension list --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --cluster-type connectedClusters -o tsv --query "[?extensionType=='microsoft.iotoperations'].identity.principalId")

az role assignment create --role "Azure Event Hubs Data Sender" --assignee $PRINCIPAL --scope $EVENTHUBRESOURCE

Bir olay hub'ına telemetri göndermek için veri akışı oluşturma

Kümenizde aşağıdakilere sahip bir veri akışı oluşturmak ve yapılandırmak için işlem deneyimi kullanıcı arabirimini kullanın:

  • Tag 10 Gelen iletideki alanı olarak Humidityyeniden adlandırır.
  • temperature Gelen iletideki alanı olarak Temperatureyeniden adlandırır.
  • Varlığın adını içeren adlı AssetId bir alan ekler.
  • Dönüştürülmüş iletileri MQTT konusundan oluşturduğunuz olay hub'ına iletir.

Veri akışını oluşturmak için:

  1. İşlem deneyimi kullanıcı arabirimine göz atın ve örneğinizi bulun. Ardından Veri Akışı uç noktaları'nı seçin ve Azure Event Hubs kutucuğunda + Yeni'yi seçin:

    Veri akışı uç noktaları sayfasının ekran görüntüsü.

  2. Yeni veri akışı uç noktası oluştur: Azure Event Hubs'a ad olarak event-hubs-target yazın ve Konak alanını oluşturduğunuz Event Hubs ad alanının adresiyle güncelleştirin. Uygula'yı seçin:

    Yeni veri akışı uç noktası oluştur: Azure Event Hubs sayfasının ekran görüntüsü.

    Yeni veri akışı uç noktanız oluşturulur ve Veri akışı uç noktaları sayfasındaki listede görüntülenir.

  3. Veri akışları'nın ardından + Veri akışı oluştur'u seçin. Yeni <veri akışı> sayfası şu şekilde görüntülenir:

    Veri Akışları sayfasının ekran görüntüsü.

  4. Veri akışı düzenleyicisinde Kaynak seç'i seçin. Ardından daha önce oluşturduğunuz termostat varlığını seçin ve Uygula'yı seçin.

  5. Veri akışı düzenleyicisinde Veri akışı uç noktasını seçin'i seçin. Ardından daha önce oluşturduğunuz event-hubs-target uç noktasını seçin ve Uygula'yı seçin.

  6. Sonraki sayfada konu olarak destinationeh yazın. Konu, Event Hubs ad alanında oluşturduğunuz hub'a başvurur. Uygula’yı seçin. Veri akışınızda artık kaynağı termostat varlığı ve hedef olarak Event Hubs ad alanınızda bir hub var.

  7. Dönüştürme eklemek için Dönüşüm ekle (isteğe bağlı) öğesini seçin.

  8. Gelen iletideki Tag 10 ve temperature alanlarını yeniden adlandırmak için Yeniden Adlandır kutucuğunda + Ekle'yi seçin.

  9. Aşağıdaki iki yeniden adlandırma dönüşümünü ekleyin:

    Datapoint Yeni veri noktası adı
    Etiket 10.Value ThermostatHumidity
    sıcaklık. Değer ThermostatTemperature
  10. İleti meta verilerinden varlık kimliğini kopyalamak için aşağıdaki yeniden adlandırma dönüşümünü ekleyin:

    Datapoint Yeni veri noktası adı
    $metadata.user_property.externalAssetId AssetId

    Yeniden adlandırma dönüşümü aşağıdaki ekran görüntüsüne benzer:

    Yeniden adlandırma dönüşümünün ekran görüntüsü.

    Uygula’yı seçin.

  11. Veri akışı düzenleyicisi artık aşağıdaki ekran görüntüsüne benzer:

    Tamamlanan veri akışının ekran görüntüsü.

  12. Veri akışını çalıştırmaya başlamak için, adı olarak tutorial-dataflow yazın ve Kaydet'i seçin. Birkaç dakika sonra Sağlama Durumu Başarılı olarak değişir. Veri akışı artık kümenizde çalışıyor.

Veri akışınız termostat varlığından ileti almak için bir MQTT konusuna abonedir. İletideki bazı alanları yeniden adlandırır ve dönüştürülmüş iletileri oluşturduğunuz olay hub'ına iletir.

Verilerin aktığını doğrulama

Verilerin buluta aktığını doğrulamak için Event Hubs örneğinizi Azure portalında görüntüleyebilirsiniz. Veri akışının başlaması ve iletilerin olay hub'ına akması için birkaç dakika beklemeniz gerekebilir.

İletiler örneğe akıyorsa, örneğe Genel Bakış sayfasında gelen iletilerin sayısını görebilirsiniz:

Gelen iletileri içeren Event Hubs örneğine genel bakış sayfasını gösteren ekran görüntüsü.

İletiler akıyorsa, iletileri görüntülemek için Veri Gezgini kullanabilirsiniz:

Event Hubs örneği **Veri Gezgini** sayfasının ekran görüntüsü.

İpucu

İletileri görüntülemek için Event Hubs ad alanının Azure Event Hubs Veri Alıcısı rolüne kendinizi atamanız gerekebilir.

Sorunu nasıl çözdük?

Bu öğreticide, MQTT konusunu Azure Event Hubs ad alanınızdaki bir olay hub'ına bağlamak için bir veri akışı kullandınız. Sonraki öğreticide, verileri görselleştirmek için Microsoft Fabric Gerçek Zamanlı Zeka'yı kullanacaksınız.

Kaynakları temizleme

Sonraki öğreticiye devam ediyorsanız tüm kaynaklarınızı koruyun.

Azure IoT İşlemleri dağıtımını kaldırmak ancak kümenizi korumak istiyorsanız az iot ops delete komutunu kullanın:

az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP

Bu hızlı başlangıç için oluşturduğunuz tüm kaynakları silmek istiyorsanız, Azure IoT İşlemlerini dağıttığınız Kubernetes kümesini silin ve ardından kümeyi içeren Azure kaynak grubunu kaldırın.

Bu hızlı başlangıçlar için Codespaces kullandıysanız Codespace'ınızı GitHub'dan silin.

Not

Kaynak grubu, bu öğreticide oluşturduğunuz Event Hubs ad alanını içerir.

Sonraki adım

Öğretici: Varlık telemetrinizden içgörüler alma