Cihazları Azure IoT Hub'a geçirme

IoT Central tabanlı bir çözümden IoT Hub tabanlı bir çözüme geçiş yapmaya karar verirseniz, şu anda uygulamanıza bağlı olan tüm cihazların yapılandırmasını değiştirmeniz gerekir. IoTC Geçişi aracı bu cihaz geçiş işlemini otomatikleştirir.

Geçiş aracı:

  • IoT Central uygulamanıza şu anda bağlanan cihazlar için IoT hub'ınızda cihaz kayıtları oluşturur.
  • IoT hub'ınız ile ilişkili Cihaz Sağlama Hizmeti (DPS) örneğinin kimlik kapsamını cihazlarınıza göndermek için bir komut kullanır.

Araç, bağlı cihazlarınızın IoT Central uygulamanızdaki cihaz şablonunda tanımlanan bir DeviceMove komutunu uygulamasını gerektirir. Komut yükü, hedef DPS örneğinin kimlik kapsamıdır. Bir cihaz bu komutu aldığında şunları yapmalıdır:

  • Telemetri göndermeyi durdurun ve IoT Central uygulamasının bağlantısını kesin.
  • Komut yükündeki yeni kimlik kapsamını kullanarak kendisini DPS ile sağlayın.
  • Hedef IoT hub'ına bağlanmak ve telemetriyi yeniden göndermeye başlamak için sağlama sonucunu kullanın.

İpucu

Cihazları IoT Cental uygulamaları arasında veya ioT hub'ından IoT Central uygulamasına geçirmek için de geçiş aracını kullanabilirsiniz.

Kesintiyi en aza indirme

Kesintiyi en aza indirmek için cihazlarınızı aşamalı olarak geçirebilirsiniz. Geçiş aracı, cihazları IoT Central'dan IoT hub'ınıza taşımak için cihaz gruplarını kullanır. Cihaz filonuzu Texas'taki cihazlar, New York'taki cihazlar ve ABD'nin geri kalanındaki cihazlar gibi cihaz gruplarına bölün. Ardından her cihaz grubunu bağımsız olarak geçirin.

Uyarı

Atanmamış cihazları bir cihaz grubuna ekleyemezsiniz. Bu nedenle, şu anda atanmamış cihazları geçirmek için geçiş aracını kullanamazsınız.

Aşağıdaki adımları izleyerek iş etkisini en aza indirin:

  • PaaS çözümünü oluşturun ve IoT Central uygulamasıyla paralel olarak çalıştırın.

  • IoT Central uygulamasında sürekli veri dışarı aktarmayı ve PaaS çözümü IoT hub'ına uygun yolları ayarlayın. Her iki veri kanalını da dönüştürün ve verileri aynı veri gölüne depolayın.

  • Cihazları aşamalar halinde geçirin ve her aşamada doğrulayın. Bir şey planlandığı gibi gitmezse, cihazları IoT Central'a geri döndür.

  • Tüm cihazları PaaS çözümüne geçirip verilerinizi IoT Central'dan tamamen dışarı aktardığınızda, cihazları IoT Central çözümünden kaldırabilirsiniz.

Geçişten sonra cihazlar IoT Central uygulamasından otomatik olarak silinmez. Bu cihazlar, uygulamadaki sağlanan tüm cihazlar için IoT Central ücretleri olarak faturalandırılmaya devam eder. Bu cihazları IoT Central uygulamasından kaldırdığınızda artık bunlar için faturalandırılırsınız. Sonunda IoT Central uygulamasını kaldırın.

Mevcut verileri IoT Central'ın dışına taşıma

IoT Central'ı telemetri ve özellik değerlerini sürekli dışarı aktaracak şekilde yapılandırabilirsiniz. Dışarı aktarma hedefleri Azure Data Lake, Event Hubs ve Web kancaları gibi veri depolarıdır. IoT Central kullanıcı arabirimini veya REST API'yi kullanarak cihaz şablonlarını dışarı aktarabilirsiniz. REST API, ioT Central uygulamasındaki kullanıcıları dışarı aktarmanıza olanak tanır.

Önkoşullar

Cihaz geçiş adımlarını tamamlamak için aşağıdaki önkoşullara ihtiyacınız vardır:

  • Cihazlarınızın şu anda bağlandığı kaynak IoT Central uygulaması.
  • Cihazları taşımak istediğiniz hedef IoT hub'ı. Bu IoT hub'ı bir DPS örneğine bağlanmalıdır.
  • node.js ve npm , geçiş aracını çalıştırdığınız yerel makinede yüklüdür.

Cihaz gereksinimleri

Geçirmek istediğiniz cihazların DeviceMove komutunu migration adlı bir bileşende uygulaması gerekir. Komut yükü, hedef DPS örneğinin kimlik kapsamını içerir. Geçiş aracı deposu, DeviceMove komutunu tanımlayan örnek bir DTDL bileşen modeli içerir. Bu bileşeni mevcut cihaz şablonlarınıza ekleyebilirsiniz.

Araç, bileşen adının migration olduğunu ve arabirim kimliğinin olduğunu dtmi:azureiot:DeviceMigration;1varsayar:

Screenshot that highlights the component name and interface ID.

Araç deposu, bir cihazın DeviceMove komutunu nasıl uygulaması gerektiğini gösteren örnek kodu da içerir.

Araç kurulumu

Geçişe hazırlanmak için aşağıdaki kurulum görevlerini tamamlayın:

Microsoft Entra uygulaması

Geçiş aracı, Azure aboneliğinizle kimlik doğrulaması yapabilmesi için bir Microsoft Entra uygulama kaydı gerektirir:

  1. Azure portal > Microsoft Entra Id > Uygulama kayıtları gidin.

  2. Yeni Kayıt seçeneğini belirleyin.

  3. "IoTC Geçişi uygulaması" gibi bir ad girin.

  4. Herhangi bir kuruluş dizininde (Herhangi bir Microsoft Entra dizini - Çok Kiracılı) ve kişisel Microsoft hesaplarında (skype, Xbox gibi) Hesaplar'ı seçin.

  5. Tek sayfalı uygulama (SPA) seçeneğini belirleyin.

  6. Yeniden yönlendirme URI'si olarak girin http://localhost:3000 . Bu değeri daha sonra geçiş uygulama yapılandırmasına eklersiniz.

  7. Kaydet'i seçin.

  8. Uygulama (istemci) Kimliği ve Dizin (kiracı) Kimliği değerlerini not edin. Bu değerleri daha sonra geçiş uygulamasını yapılandırmak için kullanırsınız:

    Screenshot that shows the Microsoft Entra application in the Azure portal.

  9. Kayıtta Bildirim sayfasına gidin ve içeriğini requiredResourceAccess aşağıdaki yapılandırmayla değiştirin:

    [
      {
        "resourceAppId": "9edfcdd9-0bc5-4bd4-b287-c3afc716aac7",
        "resourceAccess": [
          {
            "id": "73792908-5709-46da-9a68-098589599db6",
            "type": "Scope"
          }
        ]
      },
      {
        "resourceAppId": "797f4846-ba00-4fd7-ba43-dac1f8f63013",
        "resourceAccess": [
          {
            "id": "41094075-9dad-400e-a0bd-54e686782033",
            "type": "Scope"
          }
        ]
      },
      {
        "resourceAppId": "00000003-0000-0000-c000-000000000000",
        "resourceAccess": [
          {
            "id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
            "type": "Scope"
          }
        ]
      }
    ]
    
  10. Değişiklikleri kaydedin.

Cihaz anahtarlarını DPS'ye ekleme

IoT Central uygulamanızdaki paylaşılan erişim imzası anahtarlarını veya X.509 sertifikalarını DPS ayırma grubunuza ekleyin.

Cihazlarınız IoT Central uygulamanızda kimlik doğrulaması yapmak için paylaşılan erişim imzaları kullanıyorsa:

  • IoT Central uygulamanızda İzinler > Cihaz bağlantı grupları'na gidin.
  • Cihazlarınızın kullandığı kayıt grubunu seçin.
  • Birincil ve ikincil anahtarları not edin.
  • Azure portalında DPS örneğine gidin.
  • Kayıtları yönetme'yi seçin.
  • Yeni bir kayıt oluşturun ve kanıtlama türünü Simetrik Anahtar olarak ayarlayın, Anahtarları otomatik olarak oluştur'un seçimini kaldırın ve not aldığınız birincil ve ikincil anahtarları ekleyin.
  • Kaydet'i seçin.

Cihazlarınız IoT Central uygulamanızda kimlik doğrulaması yapmak için X.509 sertifikaları kullanıyorsa:

  • Azure portalında DPS örneğine gidin.
  • Sertifikalar'ı ve ardından Ekle'yi seçin.
  • IoT Central uygulamanızda kullandığınız kök veya ara X.509 sertifikalarını karşıya yükleyin ve doğrulayın.
  • Kayıtları yönetme'yi seçin.
  • Yeni bir kayıt oluşturun ve kanıtlama türünü Sertifika olarak ayarlayın, ardından karşıya yüklediğiniz birincil ve ikincil sertifikaları seçin.
  • Kaydet'i seçin.

Geçiş aracını indirme ve yapılandırma

Yerel makinenize geçiş aracının bir kopyasını indirin veya kopyalayın:

git clone https://github.com/Azure/iotc-migrator.git

İndirilen deponun kökünde bir .env dosyası oluşturun. REACT_APP_AAD_APP_CLIENT_ID, REACT_APP_AAD_APP_TENANT_IDve REACT_APP_AAD_APP_REDIRECT_URI değerlerini daha önce oluşturduğunuz Microsoft Entra uygulama kaydındaki değerlerle güncelleştirin. Ardından değişiklikleri kaydedin:

PORT=3000
REACT_APP_AAD_APP_CLIENT_ID=<your-AAD-Application-(client)-ID>
REACT_APP_AAD_APP_TENANT_ID=<your-AAD-Directory-(tenant)-ID>
REACT_APP_AAD_APP_REDIRECT_URI=http://localhost:3000

İpucu

Microsoft Entra uygulama kaydınızda kullandığınız yeniden yönlendirme URI'sinin eşleştiğinden emin REACT_APP_AAD_APP_REDIRECT_URI olun.

Komut satırı ortamınızda deponun köküne iotc-migrator gidin. Ardından gerekli node.js paketlerini yüklemek için aşağıdaki komutları çalıştırın ve ardından aracı çalıştırın:

npm install
npm start

Geçiş uygulaması başlatıldıktan sonra aracı görüntülemek için adresine gidin http://localhost:3000 . İstendiğinde oturum açın.

Cihazları geçirme

Cihazlarınızı toplu olarak geçirmek için aracını kullanın. Yeni geçiş sayfasına geçiş ayrıntılarını girin:

  1. Geçiş için bir ad girin.
  2. IoT Central uygulamanızdan bir cihaz grubu seçin.
  3. DeviceMove komut tanımını içeren bir cihaz şablonu seçin.
  4. Kendi Azure IoT Hub'ınıza taşı'yı seçin.
  5. Hedef IoT hub'ınıza bağlı DPS örneğini seçin.
  6. Geçir'i seçin. Araç, IoT Central uygulamanızdaki anahtarları DPS kayıt grubuna kopyalamanızı ister. Cihaz anahtarlarını DPS'ye ekleme adımında bu adımı daha önce tamamladınız.

Screenshot of migration tool that shows the migration definition.

Araç artık hedef cihaz filtresiyle eşleşen tüm bağlı cihazları hedef IoT hub'ına kaydeder. Araç daha sonra IoT Central uygulamanızda tüm bu cihazlarda DeviceMove yöntemini çağırmak için bir iş oluşturur. Komut yükü, hedef DPS örneğinin kimlik kapsamını içerir.

Geçişi doğrulama

İlerleme durumunu izlemek için geçiş aracındaki Geçiş durumu sayfasını kullanın:

Screenshot that shows the migration status page in the tool.

IoT Central uygulamanızdaki iş durumunu görüntülemek için Geçiş durumu sayfasında bir iş seçin. İşteki tek tek cihazların durumunu görüntülemek için bu sayfayı kullanın:

Screenshot showing completed migration status for IoT Central job.

Başarıyla geçirilen cihazlar:

  • IoT Central uygulamanızdaki cihazlar sayfasında Bağlantısı Kesildi olarak göster.

  • IoT hub'ınızda kayıtlı ve sağlanmış olarak göster:

    Screenshot of IoT Hub in the Azure portal that shows the provisioned devices.

  • Şimdi IoT hub'ınıza telemetri gönderiyor musunuz?

    Screenshot of IoT Hub in the Azure portal that shows telemetry metrics for the migrated devices.