Condividi tramite


Distribuire moduli di Azure IoT Edge usando Azure CLI

Applica a:IoT Edge 1.5 segno di spunta IoT Edge 1.5

Importante

IoT Edge 1.5 LTS è la versione supportata. IoT Edge 1,4 LTS ha raggiunto la fine della vita il 12 novembre 2024. Se si usa una versione precedente, vedere Update IoT Edge.

Dopo aver creato moduli Azure IoT Edge con la logica aziendale, distribuirli ai dispositivi per operare ai margini. Se più moduli interagiscono per raccogliere ed elaborare i dati, distribuirli tutti contemporaneamente. Dichiarare anche le regole di routing che le connettono.

Azure CLI è uno strumento da riga di comando open source multipiattaforma per la gestione di risorse Azure come IoT Edge. Permette di gestire risorse di Azure IoT Hub, istanze del servizio di provisioning dei dispositivi e hub collegati di serie. La nuova estensione IoT arricchisce Azure CLI con funzionalità come la gestione dei dispositivi e le funzionalità IoT Edge complete.

Questo articolo illustra come creare un manifesto della distribuzione JSON e usarlo per eseguire il push della distribuzione in un dispositivo IoT Edge. Per informazioni sulla creazione di una distribuzione destinata a più dispositivi in base ai tag condivisi, vedere Distribuire e monitorare i moduli Edge IoT su larga scala.

Prerequisiti

  • Un IoT Hub nella sottoscrizione Azure.

  • Un dispositivo IoT Edge

    Se non è configurato un dispositivo IoT Edge, crearne uno in una macchina virtuale Azure. Seguire la procedura descritta in uno degli articoli di avvio rapido per creare un dispositivo Linux virtuale o creare un dispositivo Windows virtuale.

  • Azure CLI nel tuo ambiente. La versione Azure CLI deve essere 2.0.70 o successiva. Usare az --version per controllare. Questa versione supporta i comandi az extension e usa il framework dei comandi Knack.

  • L'Estensione IoT per Azure CLI

Configurare un manifesto di 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 dei manifesti di distribuzione e su come crearli, vedere informazioni su come usare, configurare e riutilizzare i moduli IoT Edge.

Per distribuire i moduli usando il Azure CLI, salvare il manifesto della distribuzione in locale come file .json. Usare il percorso del file nella sezione successiva per eseguire il comando e applicare la configurazione al dispositivo.

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

Nota

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

{
  "content": {
    "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\":{\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}],\"443/tcp\":[{\"HostPort\":\"443\"}]}}}"
              }
            }
          },
          "modules": {
            "SimulatedTemperatureSensor": {
              "version": "1.0",
              "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": {
            "upstream": "FROM /messages/* INTO $upstream"
          },
          "storeAndForwardConfiguration": {
            "timeToLiveSecs": 7200
          }
        }
      },
      "SimulatedTemperatureSensor": {
        "properties.desired": {
          "SendData": true,
          "SendInterval": 5
        }
      }
    }
  }
}

Eseguire la distribuzione nel dispositivo

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

Cambia directory nella cartella in cui hai salvato il manifesto della distribuzione. Se è stato usato uno dei modelli di Visual Studio Code IoT Edge, usare il file deployment.json nella cartella config della directory della soluzione e non nel file deployment.template.json.

Usare il comando seguente per applicare la configurazione a un dispositivo IoT Edge:

az iot edge set-modules --device-id [device id] --hub-name [hub name] --content [file path]

Per il parametro ID dispositivo viene fatta distinzione tra maiuscole e minuscole. Il parametro content punta al file del manifesto della distribuzione salvato.

Screenshot che mostra l'output della riga di comando az iot edge set-modules.

Visualizzare i moduli nel dispositivo

Dopo aver distribuito i moduli nel dispositivo, è possibile visualizzarli tutti con il comando seguente:

Visualizzare i moduli nel dispositivo IoT Edge:

az iot hub module-identity list --device-id [device id] --hub-name [hub name]

Per il parametro ID dispositivo viene fatta distinzione tra maiuscole e minuscole.

Screenshot che visualizza l'output del comando az iot hub module-identity list.

Passaggi successivi

Impara come distribuire e monitorare i moduli di IoT Edge su larga scala