Implementación - AWS IoT Greengrass

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Implementación

Utilice el deployment comando para interactuar con los componentes locales de su dispositivo principal.

Para supervisar el progreso de una implementación local, utilice el status subcomando. No puede supervisar el progreso de una implementación local mediante la consola.

Subcomandos

crear

Cree o actualice una implementación local mediante recetas de componentes, artefactos y argumentos de tiempo de ejecución específicos.

Sinopsis
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. La ruta completa a la carpeta que contiene los archivos de recetas de los componentes.

  • --artifactDir,-a. La ruta completa a la carpeta que contiene los archivos de artefactos que desea incluir en la implementación. La carpeta de artefactos debe contener la siguiente estructura de directorios:

    /path/to/artifact/folder/<component-name>/<component-version>/<artifacts>
  • --update-config,-c. Los argumentos de configuración de la implementación, proporcionados como una cadena JSON o un archivo JSON. La cadena JSON debe tener el siguiente formato:

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

    MERGEy RESET distinguen entre mayúsculas y minúsculas y deben estar en mayúsculas.

  • --groupId,-g. El grupo objetivo del despliegue.

  • --merge,-m. El nombre y la versión del componente de destino que desea añadir o actualizar. Debe proporcionar la información del componente en el formato<component>=<version>. Utilice un argumento diferente para cada componente adicional que desee especificar. Si es necesario, utilice el --runWith argumento para proporcionar el posixUserposixGroup, y la windowsUser información para ejecutar el componente.

  • --runWith. El posixUserposixGroup, y la windowsUser información para ejecutar un componente genérico o de Lambda. Debe proporcionar esta información en el formato<component>:{posixUser|windowsUser}=<user>[:<=posixGroup>]. Por ejemplo, puede especificar HelloWorld:posixUser=ggc_user:ggc_group oHelloWorld:windowsUser=ggc_user. Utilice un argumento diferente para cada opción adicional que desee especificar.

    Para obtener más información, consulte Configure el usuario que ejecuta los componentes.

  • --systemLimits. Los límites de recursos del sistema se aplicarán a los procesos de los componentes Lambda genéricos y no contenerizados en el dispositivo principal. Puede configurar la cantidad máxima de uso de CPU y RAM que pueden utilizar los procesos de cada componente. Especifique un objeto JSON serializado o la ruta de un archivo a un archivo JSON. El objeto JSON debe tener el siguiente formato.

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

    Puede configurar los siguientes límites de recursos del sistema para cada componente:

    • cpusLa cantidad máxima de tiempo de CPU que los procesos de este componente pueden utilizar en el dispositivo principal. El tiempo total de CPU de un dispositivo principal equivale a la cantidad de núcleos de CPU del dispositivo. Por ejemplo, en un dispositivo principal con 4 núcleos de CPU, puede establecer este valor 2 para limitar los procesos de este componente al 50 por ciento de uso de cada núcleo de CPU. En un dispositivo con 1 núcleo de CPU, puede establecer este valor 0.25 para limitar los procesos de este componente al 25 por ciento de uso de la CPU. Si establece este valor en un número superior al número de núcleos de la CPU, el software AWS IoT Greengrass Core no limita el uso de la CPU del componente.

    • memoryLa cantidad máxima de RAM (en kilobytes) que los procesos de este componente pueden utilizar en el dispositivo principal.

    Para obtener más información, consulte Configure los límites de recursos del sistema para los componentes.

    Esta función está disponible para la versión 2.4.0 y versiones posteriores del componente núcleo de Greengrass y la CLI de Greengrass en los dispositivos principales de Linux. AWS IoT Greengrass actualmente no admite esta función en los dispositivos principales de Windows.

  • --remove. El nombre del componente de destino que desea eliminar de una implementación local. Para eliminar un componente que se fusionó de una implementación en la nube, debe proporcionar el ID de grupo del grupo de cosas de destino en el siguiente 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. Define la acción que se lleva a cabo cuando se produce un error en una implementación. Hay dos acciones que puede especificar:

    • ROLLBACK

    • DO_NOTHING

    Esta función está disponible para la versión 2.11.0 y versiones posteriores de. Núcleo de Greengrass

Salida

El siguiente ejemplo muestra el resultado que se produce al ejecutar este 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

cancelar

Cancela la implementación especificada.

Sinopsis
greengrass-cli deployment cancel -i <deployment-id>
Argumentos

-i. El identificador único del despliegue que se va a cancelar. El identificador de despliegue se devuelve en el resultado del create comando.

Salida
  • Ninguna

list

Recupera el estado de las últimas 10 implementaciones locales.

Sinopsis
greengrass-cli deployment list
Arguments

Ninguna

Salida

El siguiente ejemplo muestra el resultado que se produce al ejecutar este comando. Según el estado de la implementación, el resultado muestra uno de los siguientes valores de estado:IN_PROGRESS,SUCCEEDED, oFAILED.

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

estado

Recupera el estado de una implementación específica.

Sinopsis
greengrass-cli deployment status -i <deployment-id>
Arguments

-i. El ID de la implementación.

Salida

El siguiente ejemplo muestra el resultado que se produce al ejecutar este comando. Según el estado de la implementación, el resultado muestra uno de los siguientes valores de estado:IN_PROGRESS,SUCCEEDED, oFAILED.

$ 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