View a markdown version of this page

déploiement - AWS IoT Greengrass

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

déploiement

Utilisez la deployment commande pour interagir avec les composants locaux de votre appareil principal.

Pour suivre la progression d'un déploiement local, utilisez la status sous-commande. Vous ne pouvez pas suivre la progression d'un déploiement local à l'aide de la console.

Sous-commandes

créer

Créez ou mettez à jour un déploiement local à l'aide de recettes de composants, d'artefacts et d'arguments d'exécution spécifiés.

Résumé
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
  • --recipeDir,-r. Le chemin complet du dossier contenant les fichiers de recettes des composants.

  • --artifactDir,-a. Le chemin complet du dossier contenant les fichiers d'artefacts que vous souhaitez inclure dans votre déploiement. Le dossier des artefacts doit contenir la structure de répertoire suivante :

    /path/to/artifact/folder/<component-name>/<component-version>/<artifacts>
  • --update-config,-c. Les arguments de configuration pour le déploiement, fournis sous forme de chaîne JSON ou de fichier JSON. La chaîne JSON doit être au format suivant :

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

    MERGEet RESET font la distinction entre majuscules et minuscules et doivent être en majuscules.

  • --groupId,-g. Le groupe d'objets cible pour le déploiement.

  • --merge,-m. Le nom et la version du composant cible que vous souhaitez ajouter ou mettre à jour. Vous devez fournir les informations relatives aux composants dans ce format<component>=<version>. Utilisez un argument distinct pour chaque composant supplémentaire à spécifier. Si nécessaire, utilisez l'--runWithargument pour fournir les windowsUser informations posixUserposixGroup, et nécessaires à l'exécution du composant.

  • --runWith. Les windowsUser informationsposixUser,posixGroup, et permettant d'exécuter un composant générique ou Lambda. Vous devez fournir ces informations dans ce format<component>:{posixUser|windowsUser}=<user>[:<=posixGroup>]. Par exemple, vous pouvez spécifier HelloWorld:posixUser=ggc_user:ggc_group ouHelloWorld:windowsUser=ggc_user. Utilisez un argument distinct pour chaque option supplémentaire à spécifier.

    Pour de plus amples informations, veuillez consulter Configurer l'utilisateur qui exécute les composants.

  • --systemLimits. Les limites de ressources système à appliquer aux processus des composants Lambda génériques et non conteneurisés sur le périphérique principal. Vous pouvez configurer la quantité maximale d'utilisation du processeur et de la RAM que les processus de chaque composant peuvent utiliser. Spécifiez un objet JSON sérialisé ou un chemin d'accès à un fichier JSON. L'objet JSON doit avoir le format suivant.

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

    Vous pouvez configurer les limites de ressources système suivantes pour chaque composant :

    • cpus Durée maximale du processeur que les processus de ce composant peuvent utiliser sur le périphérique principal. Le temps processeur total d'un appareil principal est équivalent au nombre de cœurs processeurs de l'appareil. Par exemple, sur un périphérique principal doté de 4 cœurs de processeur, vous pouvez définir cette valeur 2 pour limiter les processus de ce composant à 50 % d'utilisation de chaque cœur de processeur. Sur un appareil doté d'un cœur de processeur, vous pouvez définir cette valeur 0.25 pour limiter les processus de ce composant à 25 % d'utilisation du processeur. Si vous définissez cette valeur sur un nombre supérieur au nombre de cœurs du processeur, le logiciel AWS IoT Greengrass Core ne limite pas l'utilisation du processeur par le composant.

    • memory La quantité maximale de RAM (en kilo-octets) que les processus de ce composant peuvent utiliser sur le périphérique principal.

    Pour de plus amples informations, veuillez consulter Configuration des limites de ressources système pour les composants.

    Cette fonctionnalité est disponible pour les versions 2.4.0 et ultérieures du composant Greengrass Nucleus et de la CLI Greengrass sur les appareils principaux Linux. AWS IoT Greengrass ne prend pas actuellement en charge cette fonctionnalité sur les appareils Windows Core.

  • --remove. Nom du composant cible que vous souhaitez supprimer d'un déploiement local. Si le composant définit une étape du cycle de vie de désinstallation, le logiciel AWS IoT Greengrass Core exécute le script de désinstallation avant de supprimer le composant. Pour supprimer un composant qui a été fusionné à partir d'un déploiement dans le cloud, vous devez fournir l'ID de groupe du groupe d'objets cible au format suivant :

    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. Définit l'action entreprise en cas d'échec d'un déploiement. Vous pouvez spécifier deux actions :

    • ROLLBACK— Le périphérique principal revient à sa configuration précédente en cas d'échec du déploiement.

    • DO_NOTHING— Le périphérique principal conserve les modifications résultant de l'échec du déploiement.

    Note

    Le logiciel AWS IoT Greengrass Core ignore la politique de gestion des défaillances pour les déploiements bootstrap. Un déploiement bootstrap met à jour la version du noyau de Greengrass ou inclut un composant comportant une étape du cycle de vie du bootstrap. Si un déploiement bootstrap échoue, le périphérique principal revient à sa configuration précédente. La restauration se produit même si vous définissez la politique de gestion des défaillances sur. DO_NOTHING

    Cette fonctionnalité est disponible pour les versions 2.11.0 et ultérieures du. Noyau Greengrass

Sortie

L’exemple suivant illustre la sortie produite lorsque vous exécutez cette commande.

$ 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

annuler

Annule le déploiement spécifié.

Résumé
greengrass-cli deployment cancel -i <deployment-id>
Arguments

-i. L'identifiant unique du déploiement à annuler. L'ID de déploiement est renvoyé dans la sortie de la create commande.

Output
  • Aucune

liste

Récupérez l'état des 10 derniers déploiements locaux.

Résumé
greengrass-cli deployment list
Arguments

Aucun

Sortie

L’exemple suivant illustre la sortie produite lorsque vous exécutez cette commande. En fonction de l'état de votre déploiement, la sortie affiche l'une des valeurs d'état suivantes : IN_PROGRESSSUCCEEDED, ouFAILED.

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

status

Récupérez l'état d'un déploiement spécifique.

Résumé
greengrass-cli deployment status -i <deployment-id>
Arguments

-i. L'ID du déploiement.

Sortie

L’exemple suivant illustre la sortie produite lorsque vous exécutez cette commande. En fonction de l'état de votre déploiement, la sortie affiche l'une des valeurs d'état suivantes : IN_PROGRESSSUCCEEDED, ouFAILED.

$ 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