Share via


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:

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.

  1. Kontrollera att fjärrövervakningslösningen körs lokalt på datorn.

  2. Leta reda på var du laddade ned Postman och öppna den.

  3. I Postman anger du följande i GET: https://localhost:8080/iothubmanager/v1/status.

  4. Visa returen så bör du se "Status": "OK:Alive and Well".

    Alive and Well Postman Message

Ä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 .

  1. Kontrollera att terminalen är öppen och ändra till katalogen där du har klonat fjärrövervakningslösningen.

  2. Ändra katalogen till "azure-iot-pcs-remote-monitoring-dotnet/services/iothub-manager/Services".

  3. Öppna StatusService.cs i valfri textredigerare eller IDE som du vill.

  4. 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!");
    
  5. Gå tillbaka till terminalen men ändras nu till följande katalog: "azure-iot-pcs-remote-monitoring-dotnet/services/iothub-manager/scripts/docker".

  6. Om du vill skapa din nya Docker-avbildning skriver du

    sh build
    

    eller på Windows:

    ./build.cmd
    
  7. Om du vill kontrollera att den nya avbildningen har skapats skriver du

    docker images 
    

Lagringsplatsen ska vara "azureiotpcs/iothub-manager-dotnet".

Successful docker image

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 .

  1. Leta upp avbildnings-ID:t för docker-avbildningen som du skapade genom att skriva:

    docker images
    
  2. Tagga avbildningen med typen "testning"

    docker tag [Image ID] [docker ID]/iothub-manager-dotnet:testing 
    
  3. Om du vill push-överföra den nyligen taggade avbildningen till docker-hubben skriver du

    docker push [docker ID]/iothub-manager-dotnet:testing
    
  4. Öppna webbläsaren och gå till docker-hubben och logga in.

  5. Nu bör du se den nyligen push-överförda Docker-avbildningen på docker-hubben. Docker image in docker hub

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 .

  1. Gå tillbaka till terminalen och ändra till följande katalog: "azure-iot-pcs-remote-monitoring-dotnet/services/scripts/local".

  2. Öppna docker-compose.yml i valfri textredigerare eller IDE som du vill.

  3. 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.

  1. Gå tillbaka till terminalen och ändra till följande katalog: "azure-iot-pcs-remote-monitoring-dotnet/scripts/local".

  2. Starta din lokala instans av fjärrövervakningslösningen genom att skriva följande kommando i terminalen:

    docker-compose up
    
  3. Leta reda på var du laddade ned Postman och öppna den.

  4. 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!".

New Edits Made Here postman message

Felsöka

Om du stöter på problem kan du prova att ta bort docker-avbildningarna och containrarna på den lokala datorn.

  1. 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)
    
  2. Om du vill ta bort alla bilder öppnar du terminalen och skriver

    docker rmi $(docker images -q)
    
  3. 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.

  4. 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: