Dela via


Distribuera lösningsacceleratorn fjärrövervakning lokalt – Visual Studio

Den här artikeln visar hur du distribuerar acceleratorn för fjärrövervakningslösningen till din lokala dator för testning och utveckling. Du lär dig hur du kör mikrotjänsterna i Visual Studio. En lokal mikrotjänstdistribution använder följande molntjänster: IoT Hub, Cosmos DB, Azure Streaming Analytics och Azure Time Series Insights tjänster i molnet.

Om du vill köra acceleratorn för fjärrövervakningslösningen i Docker på den lokala datorn läser du Distribuera lösningsacceleratorn för fjärrövervakning lokalt – Docker.

Förutsättningar

Om du vill distribuera De Azure-tjänster som används av acceleratorn för fjärrövervakningslösningen behöver du en aktiv Azure-prenumeration.

Om du inte har något konto kan du skapa ett kostnadsfritt utvärderingskonto på bara några minuter. Mer information om den kostnadsfria utvärderingsversionen av Azure finns Kostnadsfri utvärderingsversion av Azure.

Datorkonfiguration

För att slutföra den lokala distributionen behöver du följande verktyg installerade på den lokala utvecklingsdatorn:

  • Git
  • Docker
  • Visual Studio
  • Nginx
  • Node.js v8 – den här programvaran är en förutsättning för PCS CLI som skripten använder för att skapa Azure-resurser. Använd inte Node.js v10.

Anteckning

Visual Studio är tillgängligt för Windows och Mac.

Ladda ned källkoden

Lagringsplatserna för källkod för fjärrövervakning innehåller källkoden och Docker-konfigurationsfilerna som du behöver för att köra Docker-avbildningarna för mikrotjänster.

Om du vill klona och skapa en lokal version av lagringsplatsen använder du kommandoradsmiljön för att navigera till en lämplig mapp på den lokala datorn. Kör sedan någon av följande kommandon för att klona antingen .NET-lagringsplatsen:

Om du vill ladda ned den senaste versionen av .NET-mikrotjänstimplementeringarna kör du:

git clone --recurse-submodules https://github.com/Azure/azure-iot-pcs-remote-monitoring-dotnet.git

# To retrieve the latest submodules, run the following command:

cd azure-iot-pcs-remote-monitoring-dotnet
git submodule foreach git pull origin master

Anteckning

Dessa kommandon laddar ned källkoden för alla mikrotjänster utöver de skript som du använder för att köra mikrotjänsterna lokalt. Även om du inte behöver källkoden för att köra mikrotjänsterna i Docker är källkoden användbar om du senare planerar att ändra lösningsacceleratorn och testa ändringarna lokalt.

Distribuera Azure-tjänsterna

Den här artikeln visar hur du kör mikrotjänsterna lokalt, men de är beroende av Azure-tjänster som körs i molnet. Använd följande skript för att distribuera Azure-tjänsterna. Följande skriptexempel förutsätter att du använder .NET-lagringsplatsen på en Windows dator. Om du arbetar i en annan miljö justerar du sökvägarna, filtilläggen och sökvägsavgränsarna på rätt sätt.

Skapa nya Azure-resurser

Om du ännu inte har skapat de Nödvändiga Azure-resurserna följer du dessa steg:

  1. I kommandoradsmiljön navigerar du till mappen \services\scripts\local\launch i den klonade kopian av lagringsplatsen.

  2. Kör följande kommandon för att installera PCS CLI-verktyget och logga in på ditt Azure-konto:

    npm install -g iot-solutions
    pcs login
    
  3. Kör start.cmd-skriptet . Skriptet uppmanar dig att ange följande information:

    • Ett lösningsnamn.

    • Den Azure-prenumeration som ska användas.

    • Platsen för Det Azure-datacenter som ska användas.

      Skriptet skapar resursgrupp i Azure med ditt lösningsnamn. Den här resursgruppen innehåller de Azure-resurser som lösningsacceleratorn använder. Du kan ta bort den här resursgruppen när du inte längre behöver motsvarande resurser.

      Skriptet lägger också till en uppsättning miljövariabler med prefixet PCS till den lokala datorn. Dessa miljövariabler innehåller information om fjärrövervakning för att kunna läsa från en Azure-Key Vault resurs. Den här Key Vault resursen är där fjärrövervakning läser sina konfigurationsvärden från.

      Tips

      När skriptet har slutförts sparas även miljövariablerna i en fil med namnet <din hemmapp>\.pcs\<solution name.env>. Du kan använda dem för framtida distributioner av lösningsacceleratorer. Observera att alla miljövariabler som anges på den lokala datorn åsidosätter värden i filen services\scripts\local\.env när du kör docker-compose.

  4. Avsluta från kommandoradsmiljön.

Använda befintliga Azure-resurser

Om du redan har skapat nödvändiga Azure-resurser skapar du motsvarande miljövariabler på den lokala datorn. Ange miljövariablerna för följande:

  • PCS_KEYVAULT_NAME – Namnet på Azure Key Vault-resursen
  • PCS_AAD_APPID – program-ID för AAD
  • PCS_AAD_APPSECRET – AAD programhemlighet

Konfigurationsvärden kommer att läsas från den här Azure-Key Vault resursen. Dessa miljövariabler kan sparas i <filen home folder>\.pcs\<solution name.env> från distributionen. Observera att miljövariabler som angetts på den lokala datorn åsidosätter värden i filen services\scripts\local\.env när du kör docker-compose.

En del av den konfiguration som krävs av mikrotjänsten lagras i en instans av Key Vault som skapades vid den första distributionen. Motsvarande variabler i keyvault bör ändras efter behov.

Kör mikrotjänsterna

I det här avsnittet kör du mikrotjänster för fjärrövervakning. Du kör webbgränssnittet internt, enhetssimuleringstjänsten i Docker och mikrotjänsterna i Visual Studio.

Kör enhetssimuleringstjänsten

Öppna ett nytt kommandotolksfönster för att se till att du har åtkomst till de miljövariabler som angetts av start.cmd-skriptet i föregående avsnitt.

Kör följande kommando för att starta Docker-containern för enhetssimuleringstjänsten. Tjänsten simulerar enheter för fjärrövervakningslösningen.

<path_to_cloned_repository>\services\device-simulation\scripts\docker\run.cmd

Distribuera alla andra mikrotjänster på den lokala datorn

Följande steg visar hur du kör mikrotjänster för fjärrövervakning i Visual Studio:

  1. Starta Visual Studio.
  2. Öppna lösningen remote-monitoring.sln i mappen services i din lokala kopia av lagringsplatsen.
  3. I Solution Explorer högerklickar du på lösningen och klickar på Egenskaper.
  4. Välj Start Project för vanliga egenskaper>.
  5. Välj Flera startprojekt och ange Åtgärd till Start för följande projekt:
    • WebService (asa-manager\WebService)
    • WebService (auth\WebService)
    • WebService (config\WebService)
    • WebService (device-telemetry\WebService)
    • WebService (iothub-manager\WebService)
    • WebService (storage-adapter\WebService)
  6. Klicka på OK för att spara dina val.
  7. Klicka på Felsöka > Starta felsökning för att skapa och köra webbtjänsterna på den lokala datorn.

Varje webbtjänst öppnar en kommandotolk och ett webbläsarfönster. I kommandotolken visas utdata från den tjänst som körs och i webbläsarfönstret kan du övervaka statusen. Stäng inte kommandotolken eller webbsidorna. Den här åtgärden stoppar webbtjänsten.

Starta Stream Analytics-jobbet

Följ dessa steg för att starta Stream Analytics-jobbet:

  1. Gå till Azure Portal.
  2. Gå till den resursgrupp som skapats för din lösning. Namnet på resursgruppen är det namn som du valde för din lösning när du körde skriptet start.cmd .
  3. Klicka på Stream Analytics-jobbet i listan över resurser.
  4. På sidan Översikt över Stream Analytics-jobb klickar du på knappen Start . Klicka sedan på Start för att starta jobbet nu.

Kör webbgränssnittet

I det här steget startar du webbgränssnittet. Öppna ett nytt kommandotolksfönster för att se till att du har åtkomst till miljövariablerna som anges av skriptet start.cmd . Gå till mappen webui i din lokala kopia av lagringsplatsen och kör följande kommandon:

npm install
npm start

När starten är klar visar webbläsaren sidan http://localhost:3000/dashboard. Felen på den här sidan förväntas. Om du vill visa programmet utan fel slutför du följande steg.

Konfigurera och köra NGINX

Konfigurera en omvänd proxyserver för att länka webbappen och mikrotjänster som körs på den lokala datorn:

  • Kopiera filen nginx.conf från mappen webui\scripts\localhost i din lokala kopia av lagringsplatsen till installationskatalogen nginx\conf .
  • Kör nginx.

Mer information om hur du kör nginx finns i nginx för Windows.

Anslut till instrumentpanelen

Om du vill komma åt instrumentpanelen för fjärrövervakningslösningen går du till http://localhost:9000 i webbläsaren.

Rensa

För att undvika onödiga avgifter tar du bort molntjänsterna från din Azure-prenumeration när du är klar med testningen. Om du vill ta bort tjänsterna navigerar du till Azure Portal och tar bort resursgruppen som start.cmd-skriptet skapade.

Du kan också ta bort den lokala kopian av lagringsplatsen Fjärrövervakning som skapades när du klonade källkoden från GitHub.

Nästa steg

Nu när du har distribuerat fjärrövervakningslösningen är nästa steg att utforska funktionerna i instrumentpanelen för lösningen.