Utilizza modelli AWS gestiti per implementare operazioni remote comuni - AWS IoT Core

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizza modelli AWS gestiti per implementare operazioni remote comuni

AWS i modelli gestiti sono modelli di lavoro forniti da AWS. Vengono utilizzati per azioni remote eseguite di frequente, come il riavvio, il download di un file o l'installazione di un'applicazione sui dispositivi. Questi modelli hanno un documento di processo predefinito per ogni azione remota, quindi non è necessario creare il proprio documento di processo.

È possibile scegliere tra un set di configurazioni predefinite e creare processi utilizzando questi modelli senza scrivere alcun codice aggiuntivo. Utilizzando i modelli gestiti, è possibile visualizzare il documento di processo distribuito nei parchi istanze. È possibile creare sia un processo utilizzando questi modelli sia un modello di processo personalizzato da riutilizzare per le azioni remote.

Cosa contengono i modelli gestiti?

Ogni modello AWS gestito contiene:

  • L'ambiente in cui eseguire i comandi contenuti nel documento di processo.

  • Il documento di processo che specifica il nome dell'azione e i relativi parametri. Ad esempio, se usi un modello Download file, il nome dell'azione è Download file e i parametri possono essere:

    • L'URL del file che desideri scaricare sul dispositivo. Può essere una risorsa Internet oppure un URL pubblico o Amazon Simple Storage Service (Amazon S3) prefirmato.

    • Il percorso del file locale sul dispositivo per memorizzare il file scaricato.

    Per ulteriori informazioni sui parametri e i documenti del processo, consulta Azioni remote dei modelli gestiti e documenti di processo.

Prerequisiti

Affinché i dispositivi eseguano le azioni remote specificate nel documento del processo di modello gestito, è necessario:

  • Installare il software specifico sul tuo dispositivo

    Utilizza il software e i gestori dei lavori del tuo dispositivo o il AWS IoT Device Client. A seconda del caso d’uso, puoi anche scegliere di eseguirli entrambi in modo che svolgano funzioni diverse.

    • Utilizzo del software del dispositivo e dei gestori di processo

      Puoi scrivere il tuo codice per i dispositivi utilizzando il SDK per dispositivi AWS IoT e la relativa libreria di gestori che supporta le operazioni remote. Per distribuire ed eseguire processi, verifica che le librerie dell'agente del dispositivo siano state installate correttamente e siano in esecuzione sui dispositivi.

      Puoi anche scegliere di utilizzare i tuoi gestori che supportano le operazioni remote. Per ulteriori informazioni, consulta Sample job handlers nell'archivio Device Client. AWS IoT GitHub

    • Usa il Device Client AWS IoT

      In alternativa, puoi installare ed eseguire AWS IoT Device Client sui tuoi dispositivi perché per impostazione predefinita supporta l'utilizzo di tutti i modelli gestiti direttamente dalla console.

      Device Client è un software open source scritto in C++ che è possibile compilare e installare sui dispositivi IoT integrati basati su Linux. Il Device Client ha un client di base e una discreta funzionalità lato client. Il client di base stabilisce la connettività AWS IoT tramite protocollo MQTT e può connettersi con le diverse funzionalità lato client.

      Per eseguire operazioni remote sui dispositivi, utilizzare la funzionalità dei processi lato client del Device Client. Questa funzione contiene un parser per ricevere il documento di processo e i gestori dei processi che implementano le azioni remote specificate nel documento di processo. Per ulteriori informazioni sul Device Client e sulle sue caratteristiche, consulta Device Client di AWS IoT.

      Quando è in esecuzione su dispositivi, il Device Client riceve il documento del processo e dispone di un'implementazione specifica della piattaforma, utilizzata per eseguire i comandi nel documento. Per ulteriori informazioni sulla configurazione del Device Client e sull'utilizzo della funzionalità Jobs, consultare Tutorial AWS IoT.

  • Utilizzo di un ambiente supportato

    Per ogni modello gestito, troverai informazioni sull'ambiente che puoi utilizzare per eseguire le azioni remote. Consigliamo di utilizzare il modello con un ambiente Linux supportato, come specificato nel modello. Usa AWS IoT Device Client per eseguire le azioni remote del modello gestito perché supporta microprocessori e ambienti Linux comuni, come Debian e Ubuntu.

Azioni remote dei modelli gestiti e documenti di processo

La sezione seguente elenca i diversi modelli AWS gestiti per AWS IoT Jobs e descrive le azioni remote che possono essere eseguite sui dispositivi. Nella sezione seguente sono incluse informazioni sul documento di processo e una descrizione dei parametri del documento di processo per ogni azione remota. Il software lato dispositivo utilizza il nome del modello e i parametri per eseguire l'azione remota.

AWS i modelli gestiti accettano parametri di input per i quali si specifica un valore quando si crea un lavoro utilizzando il modello. Tutti i modelli gestiti hanno in comune due parametri di input opzionali: runAsUser e pathToHandler. Ad eccezione del modello AWS-Reboot, i modelli richiedono parametri di input aggiuntivi per i quali è necessario specificare un valore durante la creazione di un processo utilizzando il modello. Questi parametri di input richiesti variano in base al modello scelto. Ad esempio, se scegli il modello AWS-Download-File, devi specificare un elenco di pacchetti da installare e un URL da cui scaricare i file.

Specificate un valore per i parametri di input quando utilizzate la AWS IoT console o il AWS Command Line Interface (AWS CLI) per creare un lavoro che utilizza un modello gestito. Quando utilizzi la CLI, fornisci questi valori utilizzando l'oggetto document-parameters. Per ulteriori informazioni, consulta documentParameters.

Nota

Utilizza i document-parameters solo quando crei i processi dai modelli gestiti da AWS . Questo parametro non può essere utilizzato con i modelli di processo personalizzati o per creare processi da tali modelli.

Di seguito viene illustrata una descrizione dei parametri di input opzionali di uso comune. Vedrai una descrizione degli altri parametri di input richiesti da ciascun modello gestito nella sezione successiva.

runAsUser

Questo parametro specifica se eseguire il gestore di processi come un altro utente. Se non viene specificato durante la creazione del processo, il gestore del processo viene eseguito come lo stesso utente del Device Client. Quando si esegue il gestore di processi come un altro utente, specificare un valore di stringa non superiore a 256 caratteri.

pathToHandler

Il percorso del gestore di processo in esecuzione sul dispositivo. Se non specificato durante la creazione del processo, il Device Client utilizza la directory di processo corrente.

Di seguito vengono illustrate le diverse azioni remote, i relativi documenti di processo e i parametri accettati. Tutti questi modelli supportano l'ambiente Linux per l'esecuzione dell'azione remota sul dispositivo.

Nome modello

AWS–Download–File

Descrizione del modello

Un modello gestito fornito da AWS per scaricare un file.

Parametri di input

Questo modello non prevede parametri obbligatori. Puoi specificare i parametri facoltativi runAsUser e pathToHandler.

downloadUrl

L'URL da cui scaricare il file. Questo può essere una risorsa Internet, un oggetto in Amazon S3 a cui è possibile accedere pubblicamente, o un oggetto in Amazon S3 a cui è possibile accedere solo dal dispositivo utilizzando un URL prefirmato. Per ulteriori informazioni sull'uso di URL prefirmati e sulla concessione di autorizzazioni, consulta URL prefirmati.

filePath

Percorso del file locale che mostra il percorso in cui memorizzare il file scaricato all'interno del dispositivo.

Comportamento del dispositivo

Il dispositivo scarica il file dal percorso specificato, verifica che il download sia completo e lo memorizza localmente.

Documento del processo

Di seguito viene illustrato il documento di processo e la sua versione più recente. Il modello mostra il percorso del gestore di processo e lo script della shell, download-file.sh, che il gestore di processo deve eseguire per scaricare il file. Mostra inoltre i parametri obbligatori downloadUrl e filePath.

{ "version": "1.0", "steps": [ { "action": { "name": "Download-File", "type": "runHandler", "input": { "handler": "download-file.sh", "args": [ "${aws:iot:parameter:downloadUrl}", "${aws:iot:parameter:filePath}" ], "path": "${aws:iot:parameter:pathToHandler}" }, "runAsUser": "${aws:iot:parameter:runAsUser}" } } ] }
Nome modello

AWS–Install–Application

Descrizione del modello

Un modello gestito fornito da AWS per l'installazione di una o più applicazioni.

Parametri di input

Questo modello richiede il seguente parametro obbligatorio: packages. Puoi specificare i parametri facoltativi runAsUser e pathToHandler.

packages

Un elenco separato da spazi contenente una o più applicazioni da installare.

Comportamento del dispositivo

Il dispositivo installa le applicazioni come specificato nel documento di processo.

Documento del processo

Di seguito viene illustrato il documento di processo e la sua versione più recente. Il modello mostra il percorso del gestore di processo e lo script della shell, install-packages.sh, che il gestore di processo deve eseguire per scaricare il file. Mostra inoltre il parametro obbligatorio packages.

{ "version": "1.0", "steps": [ { "action": { "name": "Install-Application", "type": "runHandler", "input": { "handler": "install-packages.sh", "args": [ "${aws:iot:parameter:packages}" ], "path": "${aws:iot:parameter:pathToHandler}" }, "runAsUser": "${aws:iot:parameter:runAsUser}" } } ] }
Nome modello

AWS–Reboot

Descrizione del modello

Un modello gestito fornito da AWS per il riavvio del dispositivo.

Parametri di input

Questo modello non prevede parametri obbligatori. Puoi specificare i parametri facoltativi runAsUser e pathToHandler.

Comportamento del dispositivo

Il dispositivo si riavvia correttamente.

Documento del processo

Di seguito viene illustrato il documento di processo e la sua versione più recente. Il modello mostra il percorso del gestore di processo e lo script della shell, reboot.sh, che il gestore del processo deve eseguire per riavviare il dispositivo.

{ "version": "1.0", "steps": [ { "action": { "name": "Reboot", "type": "runHandler", "input": { "handler": "reboot.sh", "path": "${aws:iot:parameter:pathToHandler}" }, "runAsUser": "${aws:iot:parameter:runAsUser}" } } ] }
Nome modello

AWS–Remove–Application

Descrizione del modello

Un modello gestito fornito da AWS per la disinstallazione di una o più applicazioni.

Parametri di input

Questo modello richiede il seguente parametro obbligatorio: packages. Puoi specificare i parametri facoltativi runAsUser e pathToHandler.

packages

Un elenco separato da spazi contenente una o più applicazioni da disinstallare.

Comportamento del dispositivo

Il dispositivo disinstalla le applicazioni come specificato nel documento di processo.

Documento del processo

Di seguito viene illustrato il documento di processo e la sua versione più recente. Il modello mostra il percorso del gestore di processo e lo script della shell, remove-packages.sh, che il gestore di processo deve eseguire per scaricare il file. Mostra inoltre il parametro obbligatorio packages.

{ "version": "1.0", "steps": [ { "action": { "name": "Remove-Application", "type": "runHandler", "input": { "handler": "remove-packages.sh", "args": [ "${aws:iot:parameter:packages}" ], "path": "${aws:iot:parameter:pathToHandler}" }, "runAsUser": "${aws:iot:parameter:runAsUser}" } } ] }
Nome modello

AWS–Restart–Application

Descrizione del modello

Un modello gestito fornito da AWS per l'arresto e il riavvio di uno o più servizi.

Parametri di input

Questo modello richiede il seguente parametro obbligatorio: services. Puoi specificare i parametri facoltativi runAsUser e pathToHandler.

Servizi

Un elenco separato da spazi contenente una o più applicazioni da riavviare.

Comportamento del dispositivo

Le applicazioni specificate vengono arrestate e quindi riavviate sul dispositivo.

Documento del processo

Di seguito viene illustrato il documento di processo e la sua versione più recente. Il modello mostra il percorso del gestore di processo e lo script della shell, restart-services.sh, che il gestore di processi deve eseguire per riavviare i servizi di sistema. Mostra inoltre il parametro obbligatorio services.

{ "version": "1.0", "steps": [ { "action": { "name": "Restart-Application", "type": "runHandler", "input": { "handler": "restart-services.sh", "args": [ "${aws:iot:parameter:services}" ], "path": "${aws:iot:parameter:pathToHandler}" }, "runAsUser": "${aws:iot:parameter:runAsUser}" } } ] }
Nome modello

AWS-Start-Application

Descrizione del modello

Un modello gestito fornito da AWS per l'avvio di uno o più servizi.

Parametri di input

Questo modello richiede il seguente parametro obbligatorio: services. Puoi specificare i parametri facoltativi runAsUser e pathToHandler.

services

Un elenco separato da spazi contenente una o più applicazioni da avviare.

Comportamento del dispositivo

Le applicazioni specificate iniziano a funzionare sul dispositivo.

Documento del processo

Di seguito viene illustrato il documento di processo e la sua versione più recente. Il modello mostra il percorso del gestore di processo e lo script della shell, start-services.sh, che il gestore di processo deve eseguire per avviare i servizi di sistema. Mostra inoltre il parametro obbligatorio services.

{ "version": "1.0", "steps": [ { "action": { "name": "Start-Application", "type": "runHandler", "input": { "handler": "start-services.sh", "args": [ "${aws:iot:parameter:services}" ], "path": "${aws:iot:parameter:pathToHandler}" }, "runAsUser": "${aws:iot:parameter:runAsUser}" } } ] }
Nome modello

AWS–Stop–Application

Descrizione del modello

Un modello gestito fornito da AWS per interrompere uno o più servizi.

Parametri di input

Questo modello richiede il seguente parametro obbligatorio: services. Puoi specificare i parametri facoltativi runAsUser e pathToHandler.

services

Un elenco separato da spazi contenente una o più applicazioni da arrestare.

Comportamento del dispositivo

Le applicazioni specificate smettono di funzionare sul dispositivo.

Documento del processo

Di seguito viene illustrato il documento di processo e la sua versione più recente. Il modello mostra il percorso del gestore di processo e lo script della shell, stop-services.sh, che il gestore di processo deve eseguire per arrestare i servizi di sistema. Mostra inoltre il parametro obbligatorio services.

{ "version": "1.0", "steps": [ { "action": { "name": "Stop-Application", "type": "runHandler", "input": { "handler": "stop-services.sh", "args": [ "${aws:iot:parameter:services}" ], "path": "${aws:iot:parameter:pathToHandler}" }, "runAsUser": "${aws:iot:parameter:runAsUser}" } } ] }
Nome modello

AWS–Run–Command

Descrizione del modello

Un modello gestito fornito da AWS per l'esecuzione di un comando shell.

Parametri di input

Questo modello richiede il seguente parametro obbligatorio: command. Puoi specificare il parametro facoltativo runAsUser.

command

Una stringa di comando separata da virgole. Qualsiasi virgola contenuta nel comando stesso deve essere preceduta da un carattere di escape.

Comportamento del dispositivo

Il dispositivo esegue il comando shell come specificato nel documento del processo.

Documento del processo

Di seguito viene illustrato il documento di processo e la sua versione più recente. Il modello mostra il percorso del comando del processo e il comando che hai fornito per essere eseguito dal dispositivo.

{ "version": "1.0", "steps": [ { "action": { "name": "Run-Command", "type": "runCommand", "input": { "command": "${aws:iot:parameter:command}" }, "runAsUser": "${aws:iot:parameter:runAsUser}" } } ] }