View a markdown version of this page

implementazione - AWS IoT Greengrass

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à.

implementazione

Usa il deployment comando per interagire con i componenti locali del tuo dispositivo principale.

Per monitorare lo stato di avanzamento di una distribuzione locale, usa il status sottocomando. Non è possibile monitorare lo stato di avanzamento di una distribuzione locale utilizzando la console.

creazione

Crea o aggiorna una distribuzione locale utilizzando ricette di componenti, artefatti e argomenti di runtime specificati.

Riepilogo
greengrass-cli deployment create --recipeDir path/to/component/recipe [--artifactDir path/to/artifact/folder ] [--update-config {component-configuration}] [--groupId <thing-group>] [--merge "<component-name>=<component-version>"]... [--runWith "<component-name>:posixUser=<user-name>[:<group-name>]"]... [--systemLimits "{component-system-resource-limits}]"]... [--remove <component-name>,...] [--failure-handling-policy <policy name[ROLLBACK, DO_NOTHING]>]
Arguments (Argomenti)
  • --recipeDir-r,. Il percorso completo della cartella che contiene i file delle ricette dei componenti.

  • --artifactDir,-a. Il percorso completo della cartella che contiene i file degli elementi da includere nella distribuzione. La cartella artifacts deve contenere la seguente struttura di directory:

    /path/to/artifact/folder/<component-name>/<component-version>/<artifacts>
  • --update-config,. -c Gli argomenti di configurazione per la distribuzione, forniti come stringa JSON o file JSON. La stringa JSON deve avere il seguente formato:

    { \ "componentName": { \ "MERGE": {"config-key": "config-value"}, \ "RESET": ["path/to/reset/"] \ } \ }

    MERGEe RESET fanno distinzione tra maiuscole e minuscole e devono essere in maiuscolo.

  • --groupId,. -g Il gruppo di oggetti di destinazione per la distribuzione.

  • --merge,-m. Il nome e la versione del componente di destinazione da aggiungere o aggiornare. È necessario fornire le informazioni sul componente nel formato<component>=<version>. Utilizzate un argomento separato per ogni componente aggiuntivo da specificare. Se necessario, utilizzate l'--runWithargomento per fornire le windowsUser informazioni posixUserposixGroup, e per l'esecuzione del componente.

  • --runWith. Il posixUserposixGroup, e windowsUser le informazioni per l'esecuzione di un componente generico o Lambda. È necessario fornire queste informazioni nel formato<component>:{posixUser|windowsUser}=<user>[:<=posixGroup>]. Ad esempio, è possibile specificare HelloWorld:posixUser=ggc_user:ggc_group oHelloWorld:windowsUser=ggc_user. Utilizzate un argomento separato per ogni opzione aggiuntiva da specificare.

    Per ulteriori informazioni, consulta Configurare l'utente che esegue i componenti.

  • --systemLimits. I limiti delle risorse di sistema da applicare ai processi dei componenti Lambda generici e non containerizzati sul dispositivo principale. È possibile configurare la quantità massima di utilizzo di CPU e RAM utilizzabile dai processi di ciascun componente. Specifica un oggetto JSON serializzato o un percorso di file per un file JSON. L'oggetto JSON deve avere il seguente formato.

    { \ "componentName": { \ "cpus": cpuTimeLimit, \ "memory": memoryLimitInKb \ } \ }

    È possibile configurare i seguenti limiti di risorse di sistema per ogni componente:

    • cpus La quantità massima di tempo di CPU che i processi di questo componente possono utilizzare sul dispositivo principale. Il tempo totale della CPU di un dispositivo principale è equivalente al numero di core CPU del dispositivo. Ad esempio, su un dispositivo principale con 4 core CPU, puoi impostare questo valore su per 2 limitare i processi di questo componente al 50% di utilizzo di ciascun core della CPU. Su un dispositivo con 1 core CPU, puoi impostare questo valore su 0.25 per limitare i processi di questo componente al 25% di utilizzo della CPU. Se imposti questo valore su un numero maggiore del numero di AWS IoT Greengrass core della CPU, il software Core non limita l'utilizzo della CPU del componente.

    • memory La quantità massima di RAM (in kilobyte) che i processi di questo componente possono utilizzare sul dispositivo principale.

    Per ulteriori informazioni, consulta Configura i limiti delle risorse di sistema per i componenti.

    Questa funzionalità è disponibile per la versione 2.4.0 e successive del componente Greengrass nucleus e della Greengrass CLI sui dispositivi core Linux. AWS IoT Greengrass attualmente non supporta questa funzionalità sui dispositivi Windows core.

  • --remove. Il nome del componente di destinazione che si desidera rimuovere da una distribuzione locale. Se il componente definisce una fase del ciclo di vita della disinstallazione, il software AWS IoT Greengrass principale esegue lo script di disinstallazione prima di rimuovere il componente. Per rimuovere un componente che è stato unito da una distribuzione cloud, devi fornire l'ID di gruppo del gruppo di oggetti di destinazione nel seguente formato:

    Greengrass nucleus v2.4.0 and later
    --remove <component-name> --groupId <group-name>
    Earlier than v2.4.0
    --remove <component-name> --groupId thinggroup/<group-name>
  • --failure-handling-policy. Definisce l'azione intrapresa quando una distribuzione non riesce. È possibile specificare due azioni:

    • ROLLBACK— Il dispositivo principale torna alla configurazione precedente quando la distribuzione non riesce.

    • DO_NOTHING— Il dispositivo principale mantiene le modifiche apportate alla distribuzione non riuscita.

    Nota

    Il software AWS IoT Greengrass principale ignora la politica di gestione degli errori per le distribuzioni bootstrap. Una distribuzione bootstrap aggiorna la versione Greengrass nucleus o include un componente con una fase del ciclo di vita del bootstrap. Se una distribuzione bootstrap fallisce, il dispositivo principale torna alla configurazione precedente. Il rollback avviene anche se si imposta la politica di gestione degli errori su. DO_NOTHING

    Questa funzionalità è disponibile per la versione 2.11.0 e successive di. Nucleo di Greengrass

Output

L’esempio seguente mostra l’output prodotto all’esecuzione di questo comando.

$ sudo greengrass-cli deployment create \ --merge MyApp1=1.0.0 \ --merge MyApp2=1.0.0 --runWith MyApp2:posixUser=ggc_user \ --remove MyApp3 \ --recipeDir recipes/ \ --artifactDir artifacts/ Local deployment has been submitted! Deployment Id: 44d89f46-1a29-4044-ad89-5151213dfcbc

annullare

Annulla la distribuzione specificata.

Riepilogo
greengrass-cli deployment cancel -i <deployment-id>
Arguments (Argomenti)

-i. L'identificatore univoco della distribuzione da annullare. L'ID di distribuzione viene restituito nell'output del comando. create

Output
  • Nessuno

elenco

Recupera lo stato delle ultime 10 distribuzioni locali.

Riepilogo
greengrass-cli deployment list
Arguments (Argomenti)

Nessuno

Output

L’esempio seguente mostra l’output prodotto all’esecuzione di questo comando. A seconda dello stato della distribuzione, l'output mostra uno dei seguenti valori di stato:IN_PROGRESS,, SUCCEEDED o. FAILED

$ sudo greengrass-cli deployment list 44d89f46-1a29-4044-ad89-5151213dfcbc: SUCCEEDED Created on: 6/27/23 11:05 AM

status

Recupera lo stato di una distribuzione specifica.

Riepilogo
greengrass-cli deployment status -i <deployment-id>
Arguments (Argomenti)

-i. L'ID della distribuzione.

Output

L’esempio seguente mostra l’output prodotto all’esecuzione di questo comando. A seconda dello stato della distribuzione, l'output mostra uno dei seguenti valori di stato:IN_PROGRESS,SUCCEEDED, o. FAILED

$ sudo greengrass-cli deployment status -i 44d89f46-1a29-4044-ad89-5151213dfcbc 44d89f46-1a29-4044-ad89-5151213dfcbc: FAILED Created on: 6/27/23 11:05 AM Detailed Status: <Detailed deployment status> Deployment Error Stack: List of error codes Deployment Error Types: List of error types Failure Cause: Cause