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:
- Uzaktan İzleme çözüm hızlandırıcısını yerel olarak dağıtma
- Docker hesabı
- Postman - API yanıtını görüntülemek için gereklidir
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.
Uzaktan İzleme çözümünün makinenizde yerel olarak çalıştığından emin olun.
Postman'i indirdiğiniz yeri bulun ve açın.
Postman'de GET alanına aşağıdakileri girin:
https://localhost:8080/iothubmanager/v1/status
.İadeyi görüntülediğinizde "Status": "Ok:Alive and Well" ifadesini görmeniz gerekir.
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.
Terminalinizin açık olduğundan emin olun ve Uzaktan İzleme çözümünü kopyaladığınız dizine geçin.
Dizininizi "azure-iot-pcs-remote-monitoring-dotnet/services/iothub-manager/Services" olarak değiştirin.
StatusService.cs dosyasını istediğiniz herhangi bir metin düzenleyicisinde veya IDE'de açın.
Ş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!");
Terminalinize Geri dön ama şimdi şu dizine geçin: "azure-iot-pcs-remote-monitoring-dotnet/services/iothub-manager/scripts/docker".
Yeni docker görüntünüzü oluşturmak için
sh build
veya Windows:
./build.cmd
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.
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.
Yazarak oluşturduğunuz docker görüntüsünün Görüntü Kimliğini bulun:
docker images
Görüntünüzü "test" türüyle etiketlemek için
docker tag [Image ID] [docker ID]/iothub-manager-dotnet:testing
Yeni etiketlenmiş görüntünüzü docker hub'ınıza göndermek için
docker push [docker ID]/iothub-manager-dotnet:testing
İnternet tarayıcınızı açın ve docker hub'ınıza gidin ve oturum açın.
Şimdi docker hub'ınızda yeni gönderilen docker görüntünüzü görmeniz gerekir.
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.
Terminale Geri dön ve şu dizine geçin: "azure-iot-pcs-remote-monitoring-dotnet/services/scripts/local".
Docker-compose.yml dosyasını istediğiniz herhangi bir metin düzenleyicisinde veya IDE'de açın.
Ş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.
Terminalinize Geri dön ve şu dizine geçin: "azure-iot-pcs-remote-monitoring-dotnet/scripts/local".
Terminale aşağıdaki komutu yazarak Uzaktan İzleme çözümünün yerel örneğini başlatın:
docker-compose up
Postman'i indirdiğiniz yeri bulun ve açın.
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.
Sorun giderme
Sorunlarla karşı karşıyaysanız yerel makinedeki docker görüntülerini ve kapsayıcılarını kaldırmayı deneyin.
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)
Tüm görüntüleri kaldırmak için terminalinizi açın ve
docker rmi $(docker images -q)
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.
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: