Distribuire i moduli di Azure IoT Edge da Visual Studio Code

Si applica a:Segno di spunta IoT Edge 1.5 IoT Edge 1.5 Segno di spunta IoT Edge 1.4 IoT Edge 1.4

Importante

IoT Edge 1.5 LTS e IoT Edge 1.4 LTS sono versioni supportate. IoT Edge 1.4 LTS è di fine vita il 12 novembre 2024. Se si usa una versione precedente, vedere Aggiornare IoT Edge.

Dopo aver creato i moduli di IoT Edge in base alla propria logica di business, si distribuiscono i moduli nei dispositivi per consentirne l'uso a livello perimetrale. Se si hanno più moduli che interagiscono per raccogliere ed elaborare dati, è possibile distribuirli contemporaneamente e dichiarare le regole di routing che li connettono.

Questo articolo illustra come creare un manifesto della distribuzione JSON e quindi usare tale file per eseguire il push della distribuzione in un dispositivo IoT Edge. Per informazioni sulla creazione di una distribuzione da assegnare a più dispositivi in base ai relativi tag condivisi, vedere Distribuire i moduli di IoT Edge su larga scala con Visual Studio Code.

Prerequisiti

Configurare un manifesto della distribuzione

Un manifesto della distribuzione è un documento JSON contenente la descrizione dei moduli da distribuire, dei flussi di dati esistenti tra i moduli e delle proprietà desiderate dei moduli gemelli. Per altre informazioni sul funzionamento e sulla modalità di creazione dei manifesti della distribuzione, vedere Informazioni su come usare, configurare e riusare i moduli IoT Edge.

Per distribuire i moduli tramite Visual Studio Code, salvare il manifesto della distribuzione a livello locale come file con estensione JSON. Il percorso del file verrà usato nella sezione successiva quando si eseguirà il comando per applicare la configurazione al dispositivo.

Di seguito è riportato un esempio di manifesto della distribuzione di base con un solo modulo:

Nota

Questo manifesto della distribuzione di esempio usa lo schema versione 1.1 per l'agente e l'hub di IoT Edge. La versione dello schema 1.1 è stata rilasciata insieme a IoT Edge versione 1.0.10 e abilita funzionalità come l'ordine di avvio del modulo e la definizione delle priorità di route.

{
  "modulesContent": {
    "$edgeAgent": {
      "properties.desired": {
        "schemaVersion": "1.1",
        "runtime": {
          "type": "docker",
          "settings": {
            "minDockerVersion": "v1.25",
            "loggingOptions": "",
            "registryCredentials": {}
          }
        },
        "systemModules": {
          "edgeAgent": {
            "type": "docker",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-agent:1.5",
              "createOptions": "{}"
            }
          },
          "edgeHub": {
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-hub:1.5",
              "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"443/tcp\":[{\"HostPort\":\"443\"}],\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}]}}}"
            }
          }
        },
        "modules": {
          "SimulatedTemperatureSensor": {
            "version": "1.5",
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5",
              "createOptions": "{}"
            }
          }
        }
      }
    },
    "$edgeHub": {
      "properties.desired": {
        "schemaVersion": "1.1",
        "routes": {
            "route": "FROM /messages/* INTO $upstream"
        },
        "storeAndForwardConfiguration": {
          "timeToLiveSecs": 7200
        }
      }
    },
    "SimulatedTemperatureSensor": {
      "properties.desired": {}
    }
  }
}

Eseguire l'accesso all'hub IoT

Per eseguire operazioni con l'hub IoT, è possibile usare le estensioni Azure IoT per Visual Studio Code. Per il corretto funzionamento di queste operazioni è necessario accedere all'account Azure e selezionare l'hub IoT in cui si sta lavorando.

  1. In Visual Studio Code aprire la finestra di esplorazione.

  2. Nella parte inferiore di Explorer, espandere la sezione Hub IoT di Azure.

    Screenshot che mostra la sezione Espansa dell'hub I o T di Azure.

  3. Fare clic sui puntini di sospensione (...) nell'intestazione della sezione Hub IoT di Azure. Se i puntini di sospensione non sono visibili, passare il puntatore sull'intestazione.

  4. Scegliere Select IoT Hub (Seleziona l'hub IoT).

  5. Se ancora non lo si è fatto, eseguire l'accesso all'account di Azure seguendo le istruzioni.

  6. Seleziona la tua sottoscrizione di Azure.

  7. Selezionare l'hub IoT.

Eseguire la distribuzione nel dispositivo

I moduli vengono distribuiti nel dispositivo applicando il manifesto della distribuzione configurato con le informazioni relative ai moduli.

  1. Nella visualizzazione di esplorazione di Visual Studio Code espandere la sezione Hub IoT di Azure e quindi espandere il nodo Dispositivi.

  2. Fare clic con il pulsante destro del mouse sul dispositivo IoT Edge che si vuole configurare con il manifesto di distribuzione.

    Suggerimento

    Per controllare di aver scelto un dispositivo IoT Edge, selezionarlo per espandere l'elenco dei moduli e verificare la presenza di $edgeHub e $edgeAgent. Ogni dispositivo IoT Edge include questi due moduli.

  3. Selezionare Create Deployment for Single Device (Crea la distribuzione per un unico dispositivo).

  4. Passare al file JSON del manifesto di distribuzione che si vuole usare e fare clic su Select Edge deployment manifest (Seleziona il manifesto della distribuzione di Edge).

    Screenshot che mostra dove selezionare il manifesto della distribuzione di I o T Edge.

I risultati della distribuzione vengono stampati nell'output di Visual Studio Code. Le distribuzioni corrette vengono applicate entro pochi minuti se il dispositivo di destinazione è in esecuzione e connesso a Internet.

Visualizzare i moduli nel dispositivo

Dopo aver distribuito i moduli nel dispositivo, è possibile visualizzarli tutti nella sezione Hub IoT di Azure. Selezionare la freccia accanto al dispositivo IoT Edge per espanderlo. Vengono visualizzati tutti i moduli attualmente in esecuzione.

Se sono stati distribuiti di recente nuovi moduli in un dispositivo, passare il mouse sull'intestazione della sezione Azure IoT Hub Devices (Dispositivi dell'Hub IoT di Azure) e selezionare l'icona di aggiornamento per aggiornare la visualizzazione.

Fare clic con il pulsante destro del mouse sul nome di un modulo per visualizzare e modificare il modulo gemello.

Passaggi successivi

Informazioni su come Distribuire e monitorare i moduli di IoT Edge su larga scala con Visual Studio Code