Hızlı Başlangıç: Azure portalıyla Event Grid Ad Alanı'nda MQTT iletilerini yayımlama ve abone olma

Bu makalede, aşağıdaki görevleri gerçekleştirmek için Azure portalını kullanırsınız:

  1. Event Grid ad alanı oluşturma ve MQTT aracısını etkinleştirme
  2. İstemciler, istemci grupları ve konu alanları gibi alt kaynaklar oluşturma
  3. İstemcilere konu alanlarını yayımlama ve abone olma erişimi verme
  4. İstemciler arasında ileti yayımlama ve alma

Önkoşullar

Örnek istemci sertifikası ve parmak izi oluşturma

Henüz bir sertifikanız yoksa, CLI adımını kullanarak örnek bir sertifika oluşturabilirsiniz. Windows için el ile yüklemeyi göz önünde bulundurun.

Adım başarıyla yüklendikten sonra, kullanıcı profili klasörünüzde bir komut istemi açmanız gerekir (Win+R türü %USERPROFILE%).

  1. Kök ve ara sertifikalar oluşturmak için aşağıdaki komutu çalıştırın. Sonraki adımda kullanılması gereken parolayı unutmayın.

    step ca init --deployment-type standalone --name MqttAppSamplesCA --dns localhost --address 127.0.0.1:443 --provisioner MqttAppSamplesCAProvisioner
    
  2. İlk istemci için bir sertifika oluşturmak için oluşturulan CA dosyalarını kullanın. komutundaki sertifika ve gizli dizi dosyaları için doğru yolu kullandığınızdan emin olun.

    step certificate create client1-authn-ID client1-authn-ID.pem client1-authn-ID.key --ca .step/certs/intermediate_ca.crt --ca-key .step/secrets/intermediate_ca_key --no-password --insecure --not-after 2400h
    
  3. Parmak izini görüntülemek için Adım komutunu çalıştırın.

    step certificate fingerprint client1-authn-ID.pem
    
  4. Şimdi ikinci istemci için bir sertifika oluşturun.

    step certificate create client2-authn-ID client2-authn-ID.pem client2-authn-ID.key --ca .step/certs/intermediate_ca.crt --ca-key .step/secrets/intermediate_ca_key --no-password --insecure --not-after 2400h
    
  5. İkinci istemciyle kullanılacak parmak izini görüntülemek için Adım komutunu çalıştırın.

    step certificate fingerprint client2-authn-ID.pem
    

Ad alanı oluşturma

  1. Azure portalda oturum açın.

  2. Arama çubuğuna Event Grid Ad Alanları yazın ve açılan listeden Event Grid Ad Alanları'nı seçin.

    Screenshot of searching for Event Grid namespace on Azure portal.

  3. Event Grid Ad Alanları sayfasında araç çubuğunda + Oluştur'u seçin.

  4. Ad alanı oluştur sayfasında şu adımları izleyin:

    1. Azure aboneliği seçin.

    2. Mevcut bir kaynak grubunu seçin veya Yeni oluştur'u seçin ve kaynak grubu için bir ad girin.

    3. Ad alanı için benzersiz bir ad sağlayın. Ad alanı adı bir DNS girdisini temsil ettiğinden bölge başına benzersiz olmalıdır. Görüntüde gösterilen adı kullanmayın. Bunun yerine kendi adınızı oluşturun; 3-50 karakter arasında olmalı ve yalnızca a-z, A-Z, 0-9 ve -değerlerini içermelidir.

    4. Event Grid ad alanı için bir konum seçin. Şu anda Event Grid ad alanı yalnızca belirli bölgelerde kullanılabilir.

      Screenshot showing Event Grid namespace create flow basics tab.

  5. Sayfanın alt kısmındaki Gözden geçir ve oluştur'u seçin.

  6. Ad alanı oluştur sayfasının Gözden geçir + oluştur sekmesinde Oluştur'u seçin.

    Not

    Hızlı Başlangıç'ı basit tutmak için yalnızca Temel Bilgiler sayfasını kullanarak bir ad alanı oluşturacaksınız. Sihirbazın diğer sayfalarında ağ, güvenlik ve diğer ayarları yapılandırma hakkında ayrıntılı adımlar için bkz . Ad Alanı Oluşturma.

  7. Dağıtım başarılı olduktan sonra Kaynağa git'i seçerek ad alanınızın Event Grid Ad Alanına Genel Bakış sayfasına gidin.

  8. Genel Bakış sayfasında, MQTT aracısının Devre Dışı durumunda olduğunu görürsünüz. MQTT aracısını etkinleştirmek için Devre Dışı bağlantısını seçin, sizi Yapılandırma sayfasına yönlendirir.

  9. Yapılandırma sayfasında, MQTT aracısını etkinleştir seçeneğini belirleyin ve ardından ayarları uygulamak için Uygula'yı seçin.

    Screenshot showing Event Grid namespace configuration page to enable MQTT.

İstemciler oluşturma

  1. Soldaki menüdeN MQTT aracısı bölümünde İstemciler'i seçin.

  2. İstemciler sayfasında araç çubuğunda + İstemci'yi seçin.

    Screenshot of the Clients page with Add button selected.

  3. İstemci oluştur sayfasında, istemci için bir ad girin. İstemci adları bir ad alanında benzersiz olmalıdır.

  4. İstemci kimlik doğrulaması adı varsayılan olarak istemci adı olarak ayarlanır. Bu öğretici için olarak değiştirin client1-authn-ID. Bu adı CONNECT paketine eklemeniz Username gerekir.

  5. Bu öğreticide parmak izi tabanlı kimlik doğrulaması kullanacaksınız. İlk istemci sertifikasının parmak izini Birincil Parmak İzi'ne ekleyin.

    Screenshot of client 1 configuration.

  6. Başka bir istemci oluşturmak için araç çubuğunda Oluştur'u seçin.

  7. adlı client2ikinci bir istemci oluşturmak için yukarıdaki adımları yineleyin. Kimlik doğrulama adını olarak client2-authn-ID değiştirin ve birincil parmak izine ikinci istemci sertifikasının parmak izini ekleyin.

    Screenshot of client 2 configuration.

    Not

    • Hızlı Başlangıç'ı basit tutmak için kimlik doğrulaması için Parmak izi eşleşmesi kullanacaksınız. İstemci kimlik doğrulaması için X.509 CA sertifika zincirini kullanma hakkında ayrıntılı adımlar için bkz . Sertifika zincirini kullanarak istemci kimlik doğrulaması.
    • Ayrıca, bu alıştırma için ad alanında yer alan tüm istemcileri içeren varsayılan $all istemci grubunu kullanırız. İstemci özniteliklerini kullanarak özel istemci grupları oluşturma hakkında daha fazla bilgi edinmek için bkz. istemci grupları.

Konu alanları oluşturma

  1. Soldaki menüdeN MQTT aracısı bölümünde Konu alanları'nı seçin.

  2. Konu alanları sayfasında araç çubuğunda + Konu alanı'nı seçin.

    Screenshot of Topic spaces page with create button selected.

  3. Konu alanı oluştur sayfasında konu alanı için bir ad belirtin.

  4. + Konu şablonu ekle'yi seçin.

    Screenshot of Create topic space with the name.

  5. Konu şablonu için girin contosotopics/topic1 ve ardından Oluştur'u seçerek konu alanını oluşturun.

    Screenshot of topic space configuration.

İzin bağlamalarını kullanarak erişim denetimini yapılandırma

  1. Soldaki menüdeN MQTT aracısı bölümünde İzin bağlamaları'nı seçin.

  2. İzin bağlamaları sayfasında araç çubuğunda + İzin bağlaması'nı seçin.

    Screenshot that shows the Permission bindings page with the Create button selected.

  3. İzin bağlamasını aşağıdaki gibi yapılandırın:

    1. İzin bağlaması için bir ad sağlayın. Örneğin, contosopublisherbinding.

    2. İstemci grubu adı için $all'ı seçin.

    3. Konu alanı adı için önceki adımda oluşturduğunuz konu alanını seçin.

    4. Konu alanında istemci grubuna Publisher izni verin.

      Screenshot showing creation of first permission binding.

  4. İzin bağlamasını oluşturmak için Oluştur'u seçin.

  5. Araç çubuğunda + İzin bağlaması'nı seçerek bir izin bağlaması daha (contososubscriberbinding) oluşturun.

  6. Bir ad sağlayın ve gösterildiği gibi $all istemci grubu abonesine ContosoTopicSpace erişimi verin.

    Screenshot showing creation of second permission binding.

  7. İzin bağlamasını oluşturmak için Oluştur'u seçin.

MQTTX uygulamasını kullanarak istemcileri EG Ad Alanına Bağlan

  1. MQTT iletilerini yayımlamak/abone olmak için sık kullandığınız araçlardan herhangi birini kullanabilirsiniz. Tanıtım amacıyla, 'den https://mqttx.app/indirilebilen MQTTX uygulaması kullanılarak yayımlama/abone olma gösterilir.

    Screenshot showing MQTTX app left rail to add new client.

  2. ile istemci1'i yapılandırma

    • Olarak client1 adlandır (bu değer herhangi bir şey olabilir)

    • İstemci kimliği olarak client1-session1 (CONNECT paketindeki İstemci Kimliği, istemci bağlantısının oturum kimliğini tanımlamak için kullanılır)

    • Kullanıcı adı olarak client1-authn-ID. Bu değer, Azure portalında istemciyi oluştururken belirttiğiniz İstemci Kimlik Doğrulama Adı değeriyle eşleşmelidir.

      Önemli

      Kullanıcı adı, istemci meta verilerindeki istemci kimlik doğrulaması adıyla eşleşmelidir.

  3. Ad alanının Genel Bakış sayfasından konak adını MQTT ana bilgisayar adı olarak güncelleştirin.

    Screenshot showing Event Grid namespace overview page, which has MQTT hostname.

  4. Bağlantı noktasını 8883 olarak güncelleştirin.

  5. SSL/TLS'yi AÇI olarak değiştirin.

  6. Hizmet sertifikası doğrulamasını sağlamak için SSL Güvenli'yi AÇI olarak değiştirin.

  7. Otomatik olarak imzalanan Sertifika'ya tıklayın.

  8. İstemci sertifika dosyasının yolunu belirtin.

  9. İstemci anahtarı dosyasının yolunu belirtin.

  10. Ayarların geri kalanı önceden tanımlanmış varsayılan değerlerle bırakılabilir.

    Screenshot showing client 1 configuration part 1 on MQTTX app.

  11. İstemciyi MQTT aracısına bağlamak için Bağlan seçin.

  12. yukarıdaki adımları tekrarlayarak ikinci istemci istemci2'yi gösterildiği gibi ilgili kimlik doğrulama bilgileriyle bağlayın.

    Screenshot showing client 2 configuration part 1 on MQTTX app.

    Screenshot showing client 2 configuration part 2 on MQTTX app.

MQTTX uygulamasını kullanarak yayımlama/abone olma

  1. İstemcileri bağladıktan sonra, client2 için + Yeni Abonelik düğmesini seçin.

  2. Konu olarak ekleyin contosotopics/topic1 ve Onayla'yı seçin. Diğer alanları mevcut varsayılan değerlerle bırakabilirsiniz.

    Screenshot showing subscription topic configuration on MQTTX app.

  3. Sol rayda client1'i seçin.

  4. İstemci1 için, ileti oluşturma kutusunun üzerine yayımlanması gereken konu olarak yazın contosotopics/topic1 .

  5. İleti oluşturma. Gösterildiği gibi herhangi bir biçimi veya JSON'i kullanabilirsiniz.

  6. Gönder düğmesini seçin.

    Screenshot showing message publishing on the topic in MQTTX app.

  7. İleti, istemci 1'de yayımlanmış olarak görünmelidir.

    Screenshot showing message published on the topic in MQTTX app.

  8. İstemci2'ye geçin. İstemci2'nin iletiyi aldığını onaylayın.

    Screenshot showing the message received by the subscribing client on MQTTX app.

Sonraki adımlar