Użyj programu Visual Studio 2019 do tworzenia i debugowania modułów dla Azure IoT EdgeUse Visual Studio 2019 to develop and debug modules for Azure IoT Edge

Dotyczy:  ikona tak IoT Edge 1,1  yes IoT Edge 1,2Applies to: yes icon IoT Edge 1.1 yes icon IoT Edge 1.2

Logikę biznesową można przekształcić w moduły Azure IoT Edge.You can turn your business logic into modules for Azure IoT Edge. W tym artykule pokazano, jak używać programu Visual Studio 2019 jako głównego narzędzia do tworzenia i debugowania modułów.This article shows you how to use Visual Studio 2019 as the main tool to develop and debug modules.

Narzędzia Azure IoT Edge Tools for Visual Studio oferują następujące korzyści:The Azure IoT Edge Tools for Visual Studio provides the following benefits:

  • Twórz, Edytuj, Kompiluj, uruchamiaj i Debuguj Azure IoT Edge rozwiązania i moduły na lokalnym komputerze deweloperskim.Create, edit, build, run, and debug Azure IoT Edge solutions and modules on your local development computer.
  • Wdróż rozwiązanie Azure IoT Edge na Azure IoT Edge urządzeniu za pośrednictwem usługi Azure IoT Hub.Deploy your Azure IoT Edge solution to Azure IoT Edge device via Azure IoT Hub.
  • Zakoduj moduły usługi Azure IoT w języku C lub C#, korzystając ze wszystkich korzyści związanych z programowaniem programu Visual Studio.Code your Azure IoT modules in C or C# while having all of the benefits of Visual Studio development.
  • Zarządzanie urządzeniami i modułami Azure IoT Edge za pomocą interfejsu użytkownika.Manage Azure IoT Edge devices and modules with UI.

W tym artykule pokazano, jak za pomocą narzędzi Azure IoT Edge Tools for Visual Studio 2019 opracowywać moduły IoT Edge.This article shows you how to use the Azure IoT Edge Tools for Visual Studio 2019 to develop your IoT Edge modules. Dowiesz się również, jak wdrożyć projekt na urządzeniu Azure IoT Edge.You also learn how to deploy your project to your Azure IoT Edge device. Obecnie program Visual Studio 2019 zapewnia obsługę modułów pisanych w językach C i C#.Currently, Visual Studio 2019 provides support for modules written in C and C#. Obsługiwane architektury urządzeń to Windows x64 i Linux x64 lub ARM32.The supported device architectures are Windows X64 and Linux X64 or ARM32. Aby uzyskać więcej informacji na temat obsługiwanych systemów operacyjnych, języków i architektur, zobacz temat Obsługa języków i architektury.For more information about supported operating systems, languages, and architectures, see Language and architecture support.

Wymagania wstępnePrerequisites

W tym artykule przyjęto założenie, że używasz komputera lub maszyny wirtualnej z systemem Windows jako komputera deweloperskiego.This article assumes that you use a computer or virtual machine running Windows as your development machine. Na komputerach z systemem Windows można opracowywać moduły systemu Windows lub Linux.On Windows computers, you can develop either Windows or Linux modules. Aby opracowywać moduły systemu Windows, należy użyć komputera z systemem Windows w wersji 1809/Build 17763 lub nowszej.To develop Windows modules, use a Windows computer running version 1809/build 17763 or newer. Aby utworzyć moduły systemu Linux, należy użyć komputera z systemem Windows, który spełnia wymagania programu Docker Desktop.To develop Linux modules, use a Windows computer that meets the requirements for Docker Desktop.

Ponieważ ten artykuł używa programu Visual Studio 2019 jako głównego narzędzia deweloperskiego, zainstaluj program Visual Studio.Because this article uses Visual Studio 2019 as the main development tool, install Visual Studio. Upewnij się, że w instalacji programu Visual Studio 2019 zawarto projektowanie i programowanie na platformie Azure przy użyciu obciążeń języka C++ .Make sure you include the Azure development and Desktop development with C++ workloads in your Visual Studio 2019 installation. Aby dodać wymagane obciążenia, można zmodyfikować program Visual Studio 2019 .You can Modify Visual Studio 2019 to add the required workloads.

Po przygotowaniu programu Visual Studio 2019 potrzebne są również następujące narzędzia i składniki:After your Visual Studio 2019 is ready, you also need the following tools and components:

  • Pobierz i zainstaluj narzędzia Azure IoT Edge z witryny Visual Studio Marketplace, aby utworzyć projekt IoT Edge w programie visual Studio 2019.Download and install Azure IoT Edge Tools from the Visual Studio marketplace to create an IoT Edge project in Visual Studio 2019.

Porada

Jeśli używasz programu Visual Studio 2017, Pobierz i zainstaluj Azure IoT Edge narzędzia dla programu vs 2017 z witryny Visual Studio MarketplaceIf you are using Visual Studio 2017, please download and install Azure IoT Edge Tools for VS 2017 from the Visual Studio marketplace

  • Pobierz i zainstaluj program Docker Community Edition na komputerze deweloperskim, aby skompilować i uruchomić obrazy modułu.Download and install Docker Community Edition on your development machine to build and run your module images. Należy ustawić platformę Docker CE do uruchamiania w trybie kontenera systemu Linux lub w trybie kontenera Windows.You'll need to set Docker CE to run in either Linux container mode or Windows container mode.

  • Skonfiguruj lokalne środowisko programistyczne, aby debugować, uruchamiać i testować rozwiązanie IoT Edge przez zainstalowanie narzędzia deweloperskiego usługi Azure IoT EdgeHub.Set up your local development environment to debug, run, and test your IoT Edge solution by installing the Azure IoT EdgeHub Dev Tool. Zainstaluj język Python (2.7/3.6 +) i PIP , a następnie zainstaluj pakiet iotedgehubdev , uruchamiając następujące polecenie w terminalu.Install Python (2.7/3.6+) and Pip and then install the iotedgehubdev package by running the following command in your terminal. Upewnij się, że wersja narzędzia deweloperskiego usługi Azure IoT EdgeHub jest większa niż 0.3.0.Make sure your Azure IoT EdgeHub Dev Tool version is greater than 0.3.0.

    pip install --upgrade iotedgehubdev
    
  • Sklonuj repozytorium i zainstaluj program Vcpkg Library Manager, a następnie zainstaluj pakiet Azure-IoT-SDK-c dla systemu Windows.Clone the repository and install the Vcpkg library manager, and then install the azure-iot-sdk-c package for Windows.

    git clone https://github.com/Microsoft/vcpkg
    cd vcpkg
    bootstrap-vcpkg.bat
    
    vcpkg.exe install azure-iot-sdk-c:x64-windows
    vcpkg.exe --triplet x64-windows integrate install
    
  • Azure Container Registry lub centrum Docker.Azure Container Registry or Docker Hub.

    Porada

    Możesz użyć lokalnego rejestru platformy Docker dla celów prototypu i testowania zamiast rejestru w chmurze.You can use a local Docker registry for prototype and testing purposes instead of a cloud registry.

  • Aby przetestować moduł na urządzeniu, musisz mieć aktywne Centrum IoT z co najmniej jednym urządzeniem IoT Edge.To test your module on a device, you'll need an active IoT hub with at least one IoT Edge device. Aby użyć komputera jako urządzenia IoT Edge, wykonaj kroki opisane w przewodniku szybki start dla systemu Linux lub Windows.To use your computer as an IoT Edge device, follow the steps in the quickstart for Linux or Windows. Jeśli uruchamiasz demona IoT Edge na komputerze deweloperskim, może być konieczne zatrzymanie EdgeHub i EdgeAgent przed rozpoczęciem tworzenia aplikacji w programie Visual Studio.If you are running IoT Edge daemon on your development machine, you might need to stop EdgeHub and EdgeAgent before you start development in Visual Studio.

Sprawdź wersję narzędziCheck your tools version

  1. Z menu rozszerzenia wybierz pozycję Zarządzaj rozszerzeniami.From the Extensions menu, select Manage Extensions. Rozwiń węzeł zainstalowane > narzędzia i możesz znaleźć narzędzia Azure IoT Edge Tools for Visual Studio i Cloud Explorer dla programu Visual Studio.Expand Installed > Tools and you can find Azure IoT Edge Tools for Visual Studio and Cloud Explorer for Visual Studio.

  2. Zanotuj zainstalowaną wersję.Note the installed version. Tę wersję można porównać z najnowszą wersją na Visual Studio Marketplace (Eksplorator chmury, Azure IoT Edge)You can compare this version with the latest version on Visual Studio Marketplace (Cloud Explorer, Azure IoT Edge)

  3. Jeśli Twoja wersja jest starsza niż dostępna w Visual Studio Marketplace, zaktualizuj swoje narzędzia w programie Visual Studio, jak pokazano w poniższej sekcji.If your version is older than what's available on Visual Studio Marketplace, update your tools in Visual Studio as shown in the following section.

Aktualizowanie narzędziUpdate your tools

  1. W oknie Zarządzanie rozszerzeniami rozwiń węzeł aktualizacje > Visual Studio Marketplace, wybierz pozycję narzędzia Azure IoT Edge lub Eksplorator chmury dla programu Visual Studio , a następnie wybierz pozycję Aktualizuj.In the Manage Extensions window, expand Updates > Visual Studio Marketplace, select Azure IoT Edge Tools or Cloud Explorer for Visual Studio and select Update.

  2. Po pobraniu aktualizacji narzędzi Zamknij program Visual Studio, aby wyzwolić aktualizację narzędzi przy użyciu Instalatora VSIX.After the tools update is downloaded, close Visual Studio to trigger the tools update using the VSIX installer.

  3. W instalatorze wybierz przycisk OK , aby rozpocząć, a następnie zmodyfikuj , aby zaktualizować narzędzia.In the installer, select OK to start and then Modify to update the tools.

  4. Po zakończeniu aktualizacji wybierz pozycję Zamknij i uruchom ponownie program Visual Studio.After the update is complete, select Close and restart Visual Studio.

Tworzenie projektu Azure IoT EdgeCreate an Azure IoT Edge project

Szablon projektu Azure IoT Edge w programie Visual Studio tworzy projekt, który można wdrożyć na urządzeniach Azure IoT Edge na platformie Azure IoT Hub.The Azure IoT Edge project template in Visual Studio creates a project that can be deployed to Azure IoT Edge devices in Azure IoT Hub. Najpierw należy utworzyć rozwiązanie Azure IoT Edge, a następnie wygenerować pierwszy moduł w tym rozwiązaniu.First you create an Azure IoT Edge solution, and then you generate the first module in that solution. Każde rozwiązanie IoT Edge może zawierać więcej niż jeden moduł.Each IoT Edge solution can contain more than one module.

Porada

Struktura projektu IoT Edge utworzona przez program Visual Studio nie jest taka sama jak w programie Visual Studio Code.The IoT Edge project structure created by Visual Studio is not the same as in Visual Studio Code.

  1. W oknie dialogowym Nowy projekt programu Visual Studio Wyszukaj i wybierz pozycję Azure IoT Edge projekt, a następnie kliknij przycisk dalej.In Visual Studio new project dialog, search and select Azure IoT Edge project and click Next. W oknie Konfiguracja projektu wprowadź nazwę projektu i określ lokalizację, a następnie wybierz pozycję Utwórz.In project configuration window, enter a name for your project and specify the location, and then select Create. Domyślna nazwa projektu to AzureIoTEdgeApp1.The default project name is AzureIoTEdgeApp1.

    Tworzenie nowego projektu

  2. W oknie dodawanie IoT Edge aplikacji i modułu wybierz pozycję moduł C# lub moduł C , a następnie określ nazwę modułu i repozytorium obrazu modułu.In the Add IoT Edge Application and Module window, select either C# Module or C Module and then specify your module name and module image repository. Program Visual Studio automatycznie wypełnia nazwę modułu nazwą localhost: 5000/<nazwą > modułu.Visual Studio autopopulates the module name with localhost:5000/<your module name>. Zastąp go własnymi informacjami rejestru.Replace it with your own registry information. Jeśli do testowania używasz lokalnego rejestru platformy Docker, hosty localhost jest w prawidłowym zakresie.If you use a local Docker registry for testing, then localhost is fine. Jeśli używasz Azure Container Registry, Użyj serwera logowania z ustawień rejestru.If you use Azure Container Registry, then use the login server from your registry's settings. Serwer logowania wygląda jak <registry name> . azurecr.IO.The login server looks like <registry name>.azurecr.io. Zastąp tylko część localhost: 5000 ciągu, aby wynik końcowy wyglądał jak <registry name> . azurecr.IO/ <your module name>.Only replace the localhost:5000 part of the string so that the final result looks like <registry name>.azurecr.io/<your module name>. Domyślna nazwa modułu to IotEdgeModule1The default module name is IotEdgeModule1

    Dodaj aplikację i moduł

  3. Wybierz przycisk OK , aby utworzyć rozwiązanie Azure IoT Edge przy użyciu modułu korzystającego z języka C# lub C.Select OK to create the Azure IoT Edge solution with a module that uses either C# or C.

Teraz masz projekt AzureIoTEdgeApp1. Linux. amd64 lub projekt AzureIoTEdgeApp1. Windows. amd64 , a także projekt IotEdgeModule1 w rozwiązaniu.Now you have an AzureIoTEdgeApp1.Linux.Amd64 project or an AzureIoTEdgeApp1.Windows.Amd64 project, and also an IotEdgeModule1 project in your solution. Każdy projekt AzureIoTEdgeApp1 ma deployment.template.json plik, który definiuje moduły, które mają zostać skompilowane i wdrożone dla rozwiązania IoT Edge, a także definiuje trasy między modułami.Each AzureIoTEdgeApp1 project has a deployment.template.json file, which defines the modules you want to build and deploy for your IoT Edge solution, and also defines the routes between modules. Domyślne rozwiązanie ma moduł SimulatedTemperatureSensor i moduł IotEdgeModule1 .The default solution has a SimulatedTemperatureSensor module and a IotEdgeModule1 module. Moduł SimulatedTemperatureSensor generuje symulowane dane do modułu IotEdgeModule1 , podczas gdy domyślny kod w module IotEdgeModule1 bezpośrednio potoki odbierają komunikaty do IoT Hub platformy Azure.The SimulatedTemperatureSensor module generates simulated data to the IotEdgeModule1 module, while the default code in the IotEdgeModule1 module directly pipes received messages to Azure IoT Hub.

Aby zobaczyć, jak działa symulowany czujnik temperatury, Wyświetl kod źródłowy SimulatedTemperatureSensor. csproj.To see how the simulated temperature sensor works, view the SimulatedTemperatureSensor.csproj source code.

Projekt IotEdgeModule1 jest aplikacją konsolową programu .net Core 2,1, jeśli jest to moduł języka C#.The IotEdgeModule1 project is a .NET Core 2.1 console application if it's a C# module. Zawiera wymagane pliki platformy Docker, które są potrzebne w przypadku urządzenia IoT Edge działającego z kontenerem kontenera systemu Windows lub Linux.It contains required Docker files you need for your IoT Edge device running with either a Windows container or Linux container. module.jsonPlik opisuje metadane modułu.The module.json file describes the metadata of a module. Rzeczywisty kod modułu, który pobiera zestaw SDK urządzenia usługi Azure IoT jako zależność, znajduje się w Program.cs pliku lub main.c .The actual module code, which takes Azure IoT Device SDK as a dependency, is found in the Program.cs or main.c file.

Opracowywanie modułuDevelop your module

Domyślny kod modułu, który jest dostarczany z rozwiązaniem, znajduje się w IotEdgeModule1 > program. cs (dla języka C#) lub Main. C (c).The default module code that comes with the solution is located at IotEdgeModule1 > Program.cs (for C#) or main.c (C). Moduł i deployment.template.json plik są skonfigurowane tak, aby można było skompilować rozwiązanie, wypchnąć je do rejestru kontenerów i wdrożyć je na urządzeniu w celu uruchomienia testowania bez dotykania kodu.The module and the deployment.template.json file are set up so that you can build the solution, push it to your container registry, and deploy it to a device to start testing without touching any code. Moduł jest zbudowany z myślą o wejściu ze źródła (w tym przypadku modułu SimulatedTemperatureSensor , który symuluje dane) i potoku do IoT Hub platformy Azure.The module is built to take input from a source (in this case, the SimulatedTemperatureSensor module that simulates data) and pipe it to Azure IoT Hub.

Gdy wszystko jest gotowe do dostosowania szablonu modułu przy użyciu własnego kodu, użyj zestawów sdk IoT Hub platformy Azure do kompilowania modułów, które zaspokoją kluczowe potrzeby rozwiązań IoT, takich jak zabezpieczenia, zarządzanie urządzeniami i niezawodność.When you're ready to customize the module template with your own code, use the Azure IoT Hub SDKs to build modules that address the key needs for IoT solutions such as security, device management, and reliability.

Zainicjuj iotedgehubdev z parametrami połączenia urządzenia IoT EdgeInitialize iotedgehubdev with IoT Edge device connection string

  1. Skopiuj parametry połączenia dowolnego IoT Edge urządzenia z podstawowych parametrów połączenia w programie Visual Studio Cloud Explorer.Copy the connection string of any IoT Edge device from Primary Connection String in the Visual Studio Cloud Explorer. Nie należy kopiować parametrów połączenia urządzenia niegranicznego, ponieważ ikona urządzenia IoT Edge różni się od ikony urządzenia niebędącego krawędzią.Be sure not to copy the connection string of a non-Edge device, as the icon of an IoT Edge device is different from the icon of a non-Edge device.

    Kopiuj parametry połączenia urządzenia brzegowego

  2. W menu Narzędzia wybierz kolejno opcje Azure IoT Edge narzędzia > Konfiguracja IoT Edge symulator, wklej parametry połączenia i kliknij przycisk OK.From the Tools menu, select Azure IoT Edge Tools > Setup IoT Edge Simulator, paste the connection string and click OK.

    Otwórz okno Określanie parametrów połączenia Edge

  3. Wprowadź parametry połączenia z pierwszego kroku, a następnie wybierz przycisk OK.Enter the connection string from the first step and then select OK.

Uwaga

Należy wykonać te czynności tylko raz na komputerze deweloperskim, ponieważ wyniki są automatycznie stosowane do wszystkich kolejnych rozwiązań Azure IoT Edge.You need to follow these steps only once on your development computer as the results are automatically applied to all subsequent Azure IoT Edge solutions. Po wykonaniu tej procedury można zmienić na inne parametry połączenia.This procedure can be followed again if you need to change to a different connection string.

Kompiluj i Debuguj pojedynczy modułBuild and debug single module

Zazwyczaj należy przetestować i debugować każdy moduł przed uruchomieniem go w całym rozwiązaniu z wieloma modułami.Typically, you'll want to test and debug each module before running it within an entire solution with multiple modules.

  1. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy pozycję IotEdgeModule1 i wybierz pozycję Ustaw jako projekt startowy z menu kontekstowego.In Solution Explorer, right-click IotEdgeModule1 and select Set as StartUp Project from the context menu.

    Ustaw projekt startowy

  2. Naciśnij klawisz F5 lub kliknij poniższy przycisk, aby uruchomić moduł; po raz pierwszy może upłynąć 10 – sekund.Press F5 or click the button below to run the module; it may take 10–20 seconds the first time you do so.

    Uruchom moduł

  3. Jeśli moduł został zainicjowany pomyślnie, powinna zostać wyświetlona Aplikacja konsolowa platformy .NET Core.You should see a .NET Core console app start if the module has been initialized successfully.

    Uruchomiono moduł

  4. W przypadku programowania w języku C# Ustaw punkt przerwania w PipeMessage() funkcji w programie w programie. cs; Jeśli używasz języka C, ustaw punkt przerwania w InputQueue1Callback() funkcji w Main. C.If developing in C#, set a breakpoint in the PipeMessage() function in Program.cs; if using C, set a breakpoint in the InputQueue1Callback() function in main.c. Następnie można go przetestować, wysyłając komunikat, uruchamiając następujące polecenie w powłoce git bash lub WSL bash .You can then test it by sending a message by running the following command in a Git Bash or WSL Bash shell. (Nie można uruchomić curl polecenia z programu PowerShell lub wiersza polecenia).(You cannot run the curl command from a PowerShell or command prompt.)

    curl --header "Content-Type: application/json" --request POST --data '{"inputName": "input1","data":"hello world"}' http://localhost:53000/api/v1/messages
    

    Debuguj pojedynczy moduł

    Punkt przerwania powinien zostać wyzwolony.The breakpoint should be triggered. Możesz obejrzeć zmienne w oknie zmiennych lokalnych programu Visual Studio.You can watch variables in the Visual Studio Locals window.

    Porada

    Możesz również użyć narzędzia do publikowania lub innych narzędzi API do wysyłania wiadomości zamiast curl .You can also use PostMan or other API tools to send messages instead of curl.

  5. Naciśnij klawisze CTRL + F5 lub kliknij przycisk Zatrzymaj, aby zatrzymać debugowanie.Press Ctrl + F5 or click the stop button to stop debugging.

Kompiluj i Debuguj IoT Edge rozwiązanie z wieloma modułamiBuild and debug IoT Edge solution with multiple modules

Po zakończeniu opracowywania jednego modułu możesz chcieć uruchomić i debugować całe rozwiązanie z wieloma modułami.After you're done developing a single module, you might want to run and debug an entire solution with multiple modules.

  1. W Eksplorator rozwiązań Dodaj drugi moduł do rozwiązania, klikając prawym przyciskiem myszy pozycję AzureIoTEdgeApp1 i wybierając pozycję Dodaj > Nowy moduł IoT Edge.In Solution Explorer, add a second module to the solution by right-clicking AzureIoTEdgeApp1 and selecting Add > New IoT Edge Module. Domyślną nazwą drugiego modułu jest IotEdgeModule2 i będzie działać jako inny moduł potoku.The default name of the second module is IotEdgeModule2 and will act as another pipe module.

  2. Otwórz plik deployment.template.json i zobaczysz, że w sekcji modułów został dodany IotEdgeModule2 .Open the file deployment.template.json and you'll see IotEdgeModule2 has been added in the modules section. Zastąp sekcję Routes poniższymi.Replace the routes section with the following. Jeśli dostosowano nazwy modułów, upewnij się, że te nazwy zostały zaktualizowane tak, aby były zgodne.If you have customized your module names, make sure you update these names to match.

        "routes": {
          "IotEdgeModule1ToIoTHub": "FROM /messages/modules/IotEdgeModule1/outputs/* INTO $upstream",
          "sensorToIotEdgeModule1": "FROM /messages/modules/SimulatedTemperatureSensor/outputs/temperatureOutput INTO BrokeredEndpoint(\"/modules/IotEdgeModule1/inputs/input1\")",
          "IotEdgeModule2ToIoTHub": "FROM /messages/modules/IotEdgeModule2/outputs/* INTO $upstream",
          "sensorToIotEdgeModule2": "FROM /messages/modules/SimulatedTemperatureSensor/outputs/temperatureOutput INTO BrokeredEndpoint(\"/modules/IotEdgeModule2/inputs/input1\")"
        },
    
  3. Kliknij prawym przyciskiem myszy pozycję AzureIoTEdgeApp1 , a następnie wybierz pozycję Ustaw jako projekt startowy z menu kontekstowego.Right-click AzureIoTEdgeApp1 and select Set as StartUp Project from the context menu.

  4. Utwórz punkty przerwania, a następnie naciśnij klawisz F5 , aby uruchomić i debugować jednocześnie wiele modułów.Create your breakpoints and then press F5 to run and debug multiple modules simultaneously. Powinna zostać wyświetlona wiele okien aplikacji konsoli .NET Core, których każde okno reprezentuje inny moduł.You should see multiple .NET Core console app windows, which each window representing a different module.

    Debuguj wiele modułów

  5. Naciśnij klawisze CTRL + F5 lub wybierz przycisk Zatrzymaj, aby zatrzymać debugowanie.Press Ctrl + F5 or select the stop button to stop debugging.

Kompilowanie i wypychanie obrazówBuild and push images

  1. Upewnij się, że AzureIoTEdgeApp1 jest projektem startowym.Make sure AzureIoTEdgeApp1 is the start-up project. Wybierz opcję Debuguj lub Zwolnij jako konfigurację, aby skompilować obrazy modułu.Select either Debug or Release as the configuration to build for your module images.

    Uwaga

    Podczas wybierania debugowania program Visual Studio używa Dockerfile.(amd64|windows-amd64).debug do tworzenia obrazów platformy Docker.When choosing Debug, Visual Studio uses Dockerfile.(amd64|windows-amd64).debug to build Docker images. Obejmuje to debuger wiersza polecenia platformy .NET Core VSDBG w obrazie kontenera podczas jego tworzenia.This includes the .NET Core command-line debugger VSDBG in your container image while building it. W przypadku modułów IoT Edge gotowych do produkcji zalecamy użycie konfiguracji wydania , która używa Dockerfile.(amd64|windows-amd64) bez VSDBG.For production-ready IoT Edge modules, we recommend that you use the Release configuration, which uses Dockerfile.(amd64|windows-amd64) without VSDBG.

  2. Jeśli używasz prywatnego rejestru, takiego jak Azure Container Registry (ACR), użyj następującego polecenia platformy Docker, aby zalogować się do niego.If you're using a private registry like Azure Container Registry (ACR), use the following Docker command to sign in to it. Nazwę użytkownika i hasło można uzyskać ze strony klucze dostępu w rejestrze w Azure Portal.You can get the username and password from the Access keys page of your registry in the Azure portal. W przypadku korzystania z rejestru lokalnego można uruchomić rejestr lokalny.If you're using local registry, you can run a local registry.

    docker login -u <ACR username> -p <ACR password> <ACR login server>
    
  3. Jeśli używasz prywatnego rejestru, takiego jak Azure Container Registry, musisz dodać informacje o logowaniu do rejestru w ustawieniach środowiska uruchomieniowego, które znajdują się w pliku deployment.template.json .If you're using a private registry like Azure Container Registry, you need to add your registry login information to the runtime settings found in the file deployment.template.json. Zastąp symbole zastępcze rzeczywistą nazwą użytkownika administratora ACR, hasło i nazwę rejestru.Replace the placeholders with your actual ACR admin username, password, and registry name.

          "settings": {
            "minDockerVersion": "v1.25",
            "loggingOptions": "",
            "registryCredentials": {
              "registry1": {
                "username": "<username>",
                "password": "<password>",
                "address": "<registry name>.azurecr.io"
              }
            }
          }
    
  4. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy pozycję AzureIoTEdgeApp1 i wybierz pozycję kompiluj i wypychanie modułów IoT Edge , aby skompilować i wypchnąć obraz platformy Docker dla każdego modułu.In Solution Explorer, right-click AzureIoTEdgeApp1 and select Build and Push IoT Edge Modules to build and push the Docker image for each module.

Wdrażanie rozwiązaniaDeploy the solution

W artykule Szybki start, który był używany do skonfigurowania urządzenia usługi IoT Edge, wdrożono moduł za pomocą witryny Azure Portal.In the quickstart article that you used to set up your IoT Edge device, you deployed a module by using the Azure portal. Moduły można także wdrażać za pomocą programu Cloud Explorer dla programu Visual Studio.You can also deploy modules using the Cloud Explorer for Visual Studio. Istnieje już manifest wdrożenia przygotowany dla danego scenariusza, deployment.json plik i wszystko, co należy zrobić, to wybierz urządzenie, które ma zostać odebrane.You already have a deployment manifest prepared for your scenario, the deployment.json file and all you need to do is select a device to receive the deployment.

  1. Otwórz program Cloud Explorer , klikając pozycję Wyświetl program > Cloud Explorer.Open Cloud Explorer by clicking View > Cloud Explorer. Upewnij się, że zalogowano się do programu Visual Studio 2019.Make sure you've logged in to Visual Studio 2019.

  2. W programie Cloud Explorer Rozwiń swoją subskrypcję, Znajdź IoT Hub platformy Azure i urządzenie Azure IoT Edge, które chcesz wdrożyć.In Cloud Explorer, expand your subscription, find your Azure IoT Hub and the Azure IoT Edge device you want to deploy.

  3. Kliknij prawym przyciskiem myszy urządzenie IoT Edge, aby utworzyć dla niego wdrożenie.Right-click on the IoT Edge device to create a deployment for it. Przejdź do manifestu wdrożenia skonfigurowanego dla Twojej platformy znajdującej się w folderze konfiguracyjnym w rozwiązaniu programu Visual Studio, na przykład deployment.arm32v7.json .Navigate to the deployment manifest configured for your platform located in the config folder in your Visual Studio solution, such as deployment.arm32v7.json.

  4. Kliknij przycisk Odśwież, aby zobaczyć nowe moduły z uruchomionym modułem SimulatedTemperatureSensor oraz $edgeAgent i $edgeHub.Click the refresh button to see the new modules running along with the SimulatedTemperatureSensor module and $edgeAgent and $edgeHub.

Wyświetlanie wygenerowanych danychView generated data

  1. Aby monitorować komunikat D2C dla określonego urządzenia IoT-Edge, wybierz go w centrum IoT w programie Cloud Explorer , a następnie kliknij pozycję Rozpocznij monitorowanie wbudowanego punktu końcowego zdarzenia w oknie akcji .To monitor the D2C message for a specific IoT-Edge device, select it in your IoT hub in Cloud Explorer and then click Start Monitoring Built-in Event Endpoint in the Action window.

  2. Aby zatrzymać monitorowanie danych, wybierz pozycję Zatrzymaj monitorowanie wbudowanego punktu końcowego zdarzenia w oknie akcji .To stop monitoring data, select Stop Monitoring Built-in Event Endpoint in the Action window.

Następne krokiNext steps

Aby opracowywać niestandardowe moduły dla IoT Edge urządzeń, należy zapoznać się z zestawami sdk IoT Hub platformy Azure i korzystaćz nich.To develop custom modules for your IoT Edge devices, Understand and use Azure IoT Hub SDKs.