Share via


Bir mikro hizmeti özelleştirme ve yeniden dağıtma

Bu öğreticide Uzaktan İzleme çözümündeki mikro hizmetlerden birini düzenleme, mikro hizmetinizin görüntüsünü oluşturma, görüntüyü docker hub'ınıza dağıtma ve ardından Uzaktan İzleme çözümünde kullanma işlemleri gösterilir. Bu kavramı tanıtmak için, öğreticide mikro hizmet API'sini çağırdığınız ve "Canlı ve İyi" olan durum iletisini "Burada Yapılan Yeni Düzenlemeler!" olarak değiştirdiğiniz temel bir senaryo kullanılır.

Uzaktan İzleme çözümü, bir docker hub'ından çekilen docker görüntüleri kullanılarak oluşturulan mikro hizmetleri kullanır.

Bu öğreticide şunların nasıl yapıldığını öğreneceksiniz:

  • Uzaktan İzleme çözümünde mikro hizmeti düzenleme ve oluşturma
  • Docker görüntüsü oluşturma
  • Docker hub'ınıza docker görüntüsü gönderme
  • Yeni docker görüntüsünü çekme
  • Değişiklikleri görselleştirme

Önkoşullar

Bu öğreticiyi takip etmek için şunları yapmanız gerekir:

API'yi çağırma ve yanıt durumunu görüntüleme

Bu bölümde varsayılan IoT hub yöneticisi mikro hizmet API'sini çağıracaksınız. API, mikro hizmeti özelleştirerek daha sonra değiştirdiğiniz bir durum iletisi döndürür.

  1. Uzaktan İzleme çözümünün makinenizde yerel olarak çalıştığından emin olun.

  2. Postman'i indirdiğiniz yeri bulun ve açın.

  3. Postman'de GET alanına aşağıdakileri girin: https://localhost:8080/iothubmanager/v1/status.

  4. İadeyi görüntülediğinizde "Status": "Ok:Alive and Well" ifadesini görmeniz gerekir.

    Alive and Well Postman Message

Durumu değiştirme ve görüntüyü oluşturma

Şimdi Iot Hub Manager mikro hizmetinin durum iletisini "Burada Yapılan Yeni Düzenlemeler!" olarak değiştirin ve docker görüntüsünü bu yeni durumla yeniden oluşturun. Burada sorunlarla karşılaşırsanız Sorun Giderme bölümümüze bakın.

  1. Terminalinizin açık olduğundan emin olun ve Uzaktan İzleme çözümünü kopyaladığınız dizine geçin.

  2. Dizininizi "azure-iot-pcs-remote-monitoring-dotnet/services/iothub-manager/Services" olarak değiştirin.

  3. StatusService.cs dosyasını istediğiniz herhangi bir metin düzenleyicisinde veya IDE'de açın.

  4. Şu kodu bulun:

    var result = new StatusServiceModel(true, "Alive and well!");
    

    öğesini seçin ve aşağıdaki kodla değiştirin ve kaydedin.

    var result = new StatusServiceModel(true, "New Edits Made Here!");
    
  5. Terminalinize Geri dön ama şimdi şu dizine geçin: "azure-iot-pcs-remote-monitoring-dotnet/services/iothub-manager/scripts/docker".

  6. Yeni docker görüntünüzü oluşturmak için

    sh build
    

    veya Windows:

    ./build.cmd
    
  7. Yeni görüntünüzün başarıyla oluşturulduğunu doğrulamak için

    docker images 
    

Depo "azureiotpcs/iothub-manager-dotnet" olmalıdır.

Successful docker image

Görüntüyü etiketleme ve gönderme

Yeni docker görüntünüzü bir docker hub'ına göndermeden önce Docker, görüntülerinizin etiketlenmiş olmasını bekler. Burada sorunlarla karşılaşırsanız Sorun Giderme bölümümüze bakın.

  1. Yazarak oluşturduğunuz docker görüntüsünün Görüntü Kimliğini bulun:

    docker images
    
  2. Görüntünüzü "test" türüyle etiketlemek için

    docker tag [Image ID] [docker ID]/iothub-manager-dotnet:testing 
    
  3. Yeni etiketlenmiş görüntünüzü docker hub'ınıza göndermek için

    docker push [docker ID]/iothub-manager-dotnet:testing
    
  4. İnternet tarayıcınızı açın ve docker hub'ınıza gidin ve oturum açın.

  5. Şimdi docker hub'ınızda yeni gönderilen docker görüntünüzü görmeniz gerekir. Docker image in docker hub

Uzaktan İzleme çözümünüzü güncelleştirme

Şimdi docker hub'ınızdan yeni docker görüntünüzü çekmek için yerel docker-compose.yml'nizi güncelleştirmeniz gerekiyor. Burada sorunlarla karşılaşırsanız Sorun Giderme bölümümüze bakın.

  1. Terminale Geri dön ve şu dizine geçin: "azure-iot-pcs-remote-monitoring-dotnet/services/scripts/local".

  2. Docker-compose.yml dosyasını istediğiniz herhangi bir metin düzenleyicisinde veya IDE'de açın.

  3. Şu kodu bulun:

    image: azureiotpcs/iothub-manager-dotnet:testing
    

    ögesini seçin ve aşağıdaki görüntüye benzer şekilde değiştirin ve kaydedin.

    image: [docker ID]/iothub-manager-dotnet:testing
    

Yeni yanıt durumunu görüntüleme

Uzaktan İzleme çözümünün yerel bir örneğini yeniden dağıtarak ve Postman'da yeni durum yanıtını görüntüleyerek işlemi tamamlayın.

  1. Terminalinize Geri dön ve şu dizine geçin: "azure-iot-pcs-remote-monitoring-dotnet/scripts/local".

  2. Terminale aşağıdaki komutu yazarak Uzaktan İzleme çözümünün yerel örneğini başlatın:

    docker-compose up
    
  3. Postman'i indirdiğiniz yeri bulun ve açın.

  4. Postman'de GET alanına aşağıdaki isteği girin: https://localhost:8080/iothubmanager/v1/status. Şimdi "Durum": "Tamam: Burada Yapılan Yeni Düzenlemeler!" ifadesini görmeniz gerekir.

New Edits Made Here postman message

Sorun giderme

Sorunlarla karşı karşıyaysanız yerel makinedeki docker görüntülerini ve kapsayıcılarını kaldırmayı deneyin.

  1. Tüm kapsayıcıları kaldırmak için öncelikle çalışan tüm kapsayıcıları durdurmanız gerekir. Terminalinizi açın ve

    docker stop $(docker ps -aq)
    docker rm $(docker ps -aq)
    
  2. Tüm görüntüleri kaldırmak için terminalinizi açın ve

    docker rmi $(docker images -q)
    
  3. Yazarak makinede herhangi bir kapsayıcı olup olmadığını kontrol edebilirsiniz

    docker ps -aq 
    

    Tüm kapsayıcıları başarıyla kaldırdıysanız hiçbir şey gösterilmemelidir.

  4. Makinede resim olup olmadığını kontrol etmek için

    docker images
    

    Tüm kapsayıcıları başarıyla kaldırdıysanız hiçbir şey gösterilmemelidir.

Sonraki adımlar

Bu öğreticide şunların nasıl yapıldığını gördünüz:

  • Uzaktan İzleme çözümünde mikro hizmeti düzenleme ve oluşturma
  • Docker görüntüsü oluşturma
  • Docker hub'ınıza docker görüntüsü gönderme
  • Yeni docker görüntüsünü çekme
  • Değişiklikleri görselleştirme

Deneyebileceğiniz bir sonraki şey , Uzaktan İzleme çözümünde cihaz simülatörü mikro hizmetini özelleştirmektir

Uzaktan İzleme çözümü hakkında daha fazla geliştirici bilgisi için bkz: