Anpassa och distribuera om en mikrotjänst
Den här självstudien visar hur du redigerar en av mikrotjänsterna i fjärrövervakningslösningen , skapar en avbildning av din mikrotjänst, distribuerar avbildningen till docker-hubben och sedan använder den i fjärrövervakningslösningen. För att introducera det här konceptet använder självstudien ett grundläggande scenario där du anropar ett API för mikrotjänster och ändrar statusmeddelandet från "Alive and Well" till "New Edits Made Here!"
Fjärrövervakningslösningen använder mikrotjänster som skapas med docker-avbildningar som hämtas från en docker-hubb.
I den här guiden får du lära dig att:
- Redigera och skapa en mikrotjänst i fjärrövervakningslösningen
- Skapa en docker-avbildning
- Skicka en docker-avbildning till docker-hubben
- Hämta den nya docker-avbildningen
- Visualisera ändringarna
Förutsättningar
Om du vill följa den här självstudien behöver du:
- Distribuera lösningsacceleratorn för fjärrövervakning lokalt
- Ett Docker-konto
- Postman – krävs för att visa API-svaret
Anropa API:et och visa svarsstatus
I den här delen anropar du standard-IoT Hub Manager-mikrotjänst-API:et. API:et returnerar ett statusmeddelande som du ändrar senare genom att anpassa mikrotjänsten.
Kontrollera att fjärrövervakningslösningen körs lokalt på datorn.
Leta reda på var du laddade ned Postman och öppna den.
I Postman anger du följande i GET:
https://localhost:8080/iothubmanager/v1/status
.Visa returen så bör du se "Status": "OK:Alive and Well".
Ändra status och skapa avbildningen
Ändra nu statusmeddelandet för Iot Hub Manager-mikrotjänsten till "New Edits Made Here!" och återskapa sedan docker-avbildningen med den här nya statusen. Om du stöter på problem här kan du läsa vårt felsökningsavsnitt .
Kontrollera att terminalen är öppen och ändra till katalogen där du har klonat fjärrövervakningslösningen.
Ändra katalogen till "azure-iot-pcs-remote-monitoring-dotnet/services/iothub-manager/Services".
Öppna StatusService.cs i valfri textredigerare eller IDE som du vill.
Leta upp följande kod:
var result = new StatusServiceModel(true, "Alive and well!");
och ändra den till koden nedan och spara den.
var result = new StatusServiceModel(true, "New Edits Made Here!");
Gå tillbaka till terminalen men ändras nu till följande katalog: "azure-iot-pcs-remote-monitoring-dotnet/services/iothub-manager/scripts/docker".
Om du vill skapa din nya Docker-avbildning skriver du
sh build
eller på Windows:
./build.cmd
Om du vill kontrollera att den nya avbildningen har skapats skriver du
docker images
Lagringsplatsen ska vara "azureiotpcs/iothub-manager-dotnet".
Tagga och överföra avbildningen
Innan du kan push-överföra den nya Docker-avbildningen till en docker-hubb förväntar sig Docker att dina avbildningar ska taggas. Om du stöter på problem här kan du läsa vårt felsökningsavsnitt .
Leta upp avbildnings-ID:t för docker-avbildningen som du skapade genom att skriva:
docker images
Tagga avbildningen med typen "testning"
docker tag [Image ID] [docker ID]/iothub-manager-dotnet:testing
Om du vill push-överföra den nyligen taggade avbildningen till docker-hubben skriver du
docker push [docker ID]/iothub-manager-dotnet:testing
Öppna webbläsaren och gå till docker-hubben och logga in.
Nu bör du se den nyligen push-överförda Docker-avbildningen på docker-hubben.
Uppdatera fjärrövervakningslösningen
Nu måste du uppdatera din lokala docker-compose.yml för att hämta den nya Docker-avbildningen från docker-hubben. Om du stöter på problem här kan du läsa vårt felsökningsavsnitt .
Gå tillbaka till terminalen och ändra till följande katalog: "azure-iot-pcs-remote-monitoring-dotnet/services/scripts/local".
Öppna docker-compose.yml i valfri textredigerare eller IDE som du vill.
Leta upp följande kod:
image: azureiotpcs/iothub-manager-dotnet:testing
och ändra den så att den ser ut som bilden nedan och spara den.
image: [docker ID]/iothub-manager-dotnet:testing
Visa den nya svarsstatusen
Slutför genom att omdistribuera en lokal instans av fjärrövervakningslösningen och visa det nya statussvaret i Postman.
Gå tillbaka till terminalen och ändra till följande katalog: "azure-iot-pcs-remote-monitoring-dotnet/scripts/local".
Starta din lokala instans av fjärrövervakningslösningen genom att skriva följande kommando i terminalen:
docker-compose up
Leta reda på var du laddade ned Postman och öppna den.
I Postman anger du följande begäran i GET:
https://localhost:8080/iothubmanager/v1/status
. Nu bör du se "Status": "OK: Nya redigeringar som gjorts här!".
Felsöka
Om du stöter på problem kan du prova att ta bort docker-avbildningarna och containrarna på den lokala datorn.
Om du vill ta bort alla containrar måste du först stoppa alla containrar som körs. Öppna terminalen och skriv
docker stop $(docker ps -aq) docker rm $(docker ps -aq)
Om du vill ta bort alla bilder öppnar du terminalen och skriver
docker rmi $(docker images -q)
Du kan kontrollera om det finns några containrar på datorn genom att skriva
docker ps -aq
Om du har tagit bort alla containrar bör ingenting visas.
Du kan kontrollera om det finns några bilder på datorn genom att skriva
docker images
Om du har tagit bort alla containrar bör ingenting visas.
Nästa steg
I den här självstudien såg du hur du:
- Redigera och skapa en mikrotjänst i fjärrövervakningslösningen
- Skapa en docker-avbildning
- Skicka en docker-avbildning till docker-hubben
- Hämta den nya docker-avbildningen
- Visualisera ändringarna
Nästa sak att prova är att anpassa enhetssimulatorns mikrotjänst i fjärrövervakningslösningen
Mer utvecklarinformation om fjärrövervakningslösningen finns i: