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.
Administre las implementaciones y los componentes locales
nota
Esta característica está disponible para la versión 2.6.0 y versiones posteriores del componente núcleo de Greengrass.
Utilice el servicio CLI IPC de Greengrass para administrar las implementaciones locales y los componentes de Greengrass en el dispositivo principal.
Para utilizar estas operaciones de IPC, incluya la versión 2.6.0 o posterior del componente CLI de Greengrass como dependencia en su componente personalizado. A continuación, puede utilizar las operaciones de IPC en sus componentes personalizados para hacer lo siguiente:
-
Cree implementaciones locales para modificar y configurar los componentes de Greengrass en el dispositivo principal.
-
Reinicie y detenga los componentes de Greengrass en el dispositivo principal.
-
Genere una contraseña que pueda usar para iniciar sesión en la consola de depuración local.
Temas
Versiones mínimas de SDK
En la siguiente tabla, se enumeran las versiones mínimas de SDK para dispositivos con AWS IoT que debe utilizar para interactuar con el servicio CLI IPC de Greengrass.
SDK | Versión mínima |
---|---|
Versión 1.2.10 |
|
Versión 1.5.3 |
|
Versión 1.17.0 |
|
Versión 1.12.0 |
Autorización
Para utilizar el servicio CLI IPC de Greengrass en un componente personalizado, debe definir políticas de autorización que permitan a su componente administrar las implementaciones y los componentes locales. Para obtener información sobre cómo definir las políticas de autorización, consulte Autoriza a los componentes a realizar IPC operaciones.
Las políticas de autorización de la CLI de Greengrass tienen las siguientes propiedades.
Identificador de servicio IPC: aws.greengrass.Cli
Operación | Descripción | Recursos |
---|---|---|
|
Permite que un componente cree una implementación local en el dispositivo principal. |
|
|
Permite que un componente enumere las implementaciones locales en el dispositivo principal. |
|
|
Permite que un componente obtenga el estado de una implementación local en el dispositivo principal. |
Un ID de implementación local, o |
|
Permite que un componente enumere los componentes del dispositivo principal. |
|
|
Permite que un componente obtenga detalles sobre un componente del dispositivo principal. |
Un nombre de componente, por ejemplo: |
|
Permite que un componente reinicie un componente del dispositivo principal. |
Un nombre de componente, por ejemplo: |
|
Permite que un componente detenga a un componente del dispositivo principal. |
Un nombre de componente, por ejemplo: |
|
Permite que un componente genere una contraseña para iniciar sesión en el componente de la consola de depuración local. |
|
ejemplo Ejemplo de política de autorización
Los siguientes ejemplos de políticas de autorización permiten a un componente crear implementaciones locales, ver todas las implementaciones y componentes locales, además de reiniciar y detener un componente denominado com.example.HelloWorld
.
{ "accessControl": { "aws.greengrass.Cli": { "
com.example.MyLocalManagerComponent
:cli:1": { "policyDescription": "Allows access to create local deployments and view deployments and components.", "operations": [ "aws.greengrass#CreateLocalDeployment", "aws.greengrass#ListLocalDeployments", "aws.greengrass#GetLocalDeploymentStatus", "aws.greengrass#ListComponents", "aws.greengrass#GetComponentDetails" ], "resources": [ "*" ] } }, "aws.greengrass.Cli": { "com.example.MyLocalManagerComponent
:cli:2": { "policyDescription": "Allows access to restart and stop the Hello World component.", "operations": [ "aws.greengrass#RestartComponent", "aws.greengrass#StopComponent" ], "resources": [ "com.example.HelloWorld" ] } } } }
CreateLocalDeployment
Cree o actualice una implementación local mediante recetas de componentes, artefactos y argumentos de tiempo de ejecución específicos.
Esta operación ofrece la misma funcionalidad que el comando crear implementación de la CLI de Greengrass.
Solicitud
Esta solicitud de operación tiene los siguientes parámetros:
recipeDirectoryPath
(Python:recipe_directory_path
)-
(Opcional) La ruta absoluta a la carpeta que contiene los archivos de recetas de los componentes.
artifactDirectoryPath
(Python:artifact_directory_path
)-
(Opcional) La ruta absoluta a la carpeta que contiene los archivos de artefactos que se incluirán en la implementación. La carpeta de artefactos debe contener la siguiente estructura de carpetas:
/path/to/artifact/folder
/component-name
/component-version
/artifacts
rootComponentVersionsToAdd
(Python:root_component_versions_to_add
)-
(Opcional) Las versiones de los componentes que se van a instalar en el dispositivo principal. Este objeto,
ComponentToVersionMap
, es un mapa que contiene los siguientes pares clave-valor:key
-
El nombre del componente.
value
-
Esta es la versión del componente.
rootComponentsToRemove
(Python:root_components_to_remove
)-
(Opcional) Los componentes que se van a desinstalar del dispositivo principal. Especifique una lista en la que cada entrada sea el nombre de un componente.
componentToConfiguration
(Python:component_to_configuration
)-
(opcional) La configuración se actualiza para cada componente en la implementación. Este objeto,
ComponentToConfiguration
, es un mapa que contiene los siguientes pares clave-valor:key
-
El nombre del componente.
value
-
La configuración actualiza el objeto JSON para el componente. El objeto JSON debe incluir el siguiente formato.
{ "MERGE": { "
config-key
": "config-value
" }, "RESET": [ "path/to/reset/
" ] }Para obtener más información acerca de las actualizaciones de configuración, consulte Actualización de las configuraciones de los componentes.
componentToRunWithInfo
(Python:component_to_run_with_info
)-
(Opcional) La configuración del tiempo de ejecución de cada componente de la implementación. Esta configuración incluye el usuario del sistema que es propietario de los procesos de cada componente y los límites del sistema que se aplican a cada componente. Este objeto,
ComponentToRunWithInfo
, es un mapa que contiene los siguientes pares clave-valor:key
-
El nombre del componente.
value
-
La configuración de tiempo de ejecución del componente. Si omite un parámetro de configuración de tiempo de ejecución, el software principal de AWS IoT Greengrass utilizará los valores predeterminados que configure en el núcleo de Greengrass. Este objeto,
RunWithInfo
, contiene la siguiente información:posixUser
(Python:posix_user
)-
(Opcional) El usuario del sistema POSIX y, opcionalmente, el grupo que se utilizarán para ejecutarse en dispositivos principales de Linux. El usuario y el grupo, si se especifica, deben existir en cada dispositivo principal de Linux. Especifique el usuario y el grupo separados por dos puntos (
:
) con el siguiente formato:user:group
. El grupo es opcional. Si no especifica un grupo, el software principal de AWS IoT Greengrass utiliza el usuario principal del grupo. Para obtener más información, consulte Configuración del usuario que ejecuta los componentes. windowsUser
(Python:windows_user
)-
(Opcional) El usuario de Windows que se utilizará para ejecutar este componente en los dispositivos principales de Windows. El usuario debe existir en cada dispositivo principal de Windows y su nombre y contraseña deben estar en la instancia del Administrador de credenciales de la cuenta LocalSystem. Para obtener más información, consulte Configuración del usuario que ejecuta los componentes.
systemResourceLimits
(Python:system_resource_limits
)-
(Opcional) Los límites de recursos del sistema que se aplicarán a los procesos de este componente. Puede aplicar límites de recursos del sistema a los componentes de Lambda genéricos y no contenerizados. Para obtener más información, consulte Configuración de los límites de recursos del sistema para los componentes.
AWS IoT Greengrass actualmente no admite esta característica en los dispositivos principales de Windows.
Este objeto,
SystemResourceLimits
, contiene la siguiente información:cpus
-
(Opcional) La cantidad máxima de tiempo de CPU que los procesos de un 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 en
2
para limitar los procesos del componente al 50 % de uso de cada núcleo de CPU. En un dispositivo con 1 núcleo de CPU, puede establecer este valor en0.25
para limitar los procesos del componente al 25 % de uso de la CPU. Si se establece este valor en un número mayor que la cantidad de núcleos de la CPU, el software principal de AWS IoT Greengrass no limita el uso de la CPU del componente. memory
-
(Opcional) La cantidad máxima de RAM, expresada en kilobytes, que los procesos de un componente pueden utilizar en el dispositivo principal.
groupName
(Python:group_name
)-
(Opcional) El nombre del grupo de elementos al que se va a dirigir esta implementación.
Respuesta
Esta respuesta de operación contiene la siguiente información:
deploymentId
(Python:deployment_id
)-
El ID de la implementación local que creó la solicitud.
ListLocalDeployments
Obtiene el estado de las últimas 10 implementaciones locales.
Esta operación ofrece la misma funcionalidad que el comando enumerar implementación de la CLI de Greengrass.
Solicitud
Esta solicitud de la operación no tiene parámetros.
Respuesta
Esta respuesta de operación contiene la siguiente información:
localDeployments
(Python:local_deployments
)-
La lista de implementaciones locales. Cada objeto de esta lista es un objeto
LocalDeployment
que contiene la siguiente información:deploymentId
(Python:deployment_id
)-
El ID de la implementación local.
status
-
El estado de la implementación local. Esta enumeración,
DeploymentStatus
, tiene los siguientes valores:-
QUEUED
-
IN_PROGRESS
-
SUCCEEDED
-
FAILED
-
GetLocalDeploymentStatus
Obtiene el estado de una implementación local.
Esta operación ofrece la misma funcionalidad que el comando estado de implementación de la CLI de Greengrass.
Solicitud
Esta solicitud de operación tiene los siguientes parámetros:
deploymentId
(Python:deployment_id
)-
El ID de la implementación local que se va a obtener.
Respuesta
Esta respuesta de operación contiene la siguiente información:
deployment
-
La implementación local. Este objeto,
LocalDeployment
, contiene la siguiente información:deploymentId
(Python:deployment_id
)-
El ID de la implementación local.
status
-
El estado de la implementación local. Esta enumeración,
DeploymentStatus
, tiene los siguientes valores:-
QUEUED
-
IN_PROGRESS
-
SUCCEEDED
-
FAILED
-
ListComponents
Obtiene el nombre, la versión, el estado y la configuración de cada componente raíz del dispositivo principal. Un componente raíz es un componente que se especifica en una implementación. Esta respuesta no incluye los componentes que se instalan como dependencias de otros componentes.
Esta operación ofrece la misma funcionalidad que el comando component list de la CLI de Greengrass.
Solicitud
Esta solicitud de la operación no tiene parámetros.
Respuesta
Esta respuesta de operación contiene la siguiente información:
components
-
La lista de componentes raíz del dispositivo principal. Cada objeto de esta lista es un objeto
ComponentDetails
que contiene la siguiente información:componentName
(Python:component_name
)-
El nombre del componente.
version
-
Esta es la versión del componente.
state
-
El estado del componente. Este estado puede ser uno de los siguientes:
-
BROKEN
-
ERRORED
-
FINISHED
-
INSTALLED
-
NEW
-
RUNNING
-
STARTING
-
STOPPING
-
configuration
-
La configuración del componente como objeto JSON.
GetComponentDetails
Obtiene la versión, el estado y la configuración de un componente del dispositivo principal.
Esta operación ofrece la misma funcionalidad que el comando detallar implementación de la CLI de Greengrass.
Solicitud
Esta solicitud de operación tiene los siguientes parámetros:
componentName
(Python:component_name
)-
El nombre del componente que se obtendrá.
Respuesta
Esta respuesta de operación contiene la siguiente información:
componentDetails
(Python:component_details
)-
Los detalles del componente. Este objeto,
ComponentDetails
, contiene la siguiente información:componentName
(Python:component_name
)-
El nombre del componente.
version
-
Esta es la versión del componente.
state
-
El estado del componente. Este estado puede ser uno de los siguientes:
-
BROKEN
-
ERRORED
-
FINISHED
-
INSTALLED
-
NEW
-
RUNNING
-
STARTING
-
STOPPING
-
configuration
-
La configuración del componente como objeto JSON.
RestartComponent
Reinicia un componente en el dispositivo principal.
nota
Si bien puede reiniciar cualquier componente, le recomendamos que reinicie solo los componentes genéricos.
Esta operación ofrece la misma funcionalidad que el comando reiniciar implementación de la CLI de Greengrass.
Solicitud
Esta solicitud de operación tiene los siguientes parámetros:
componentName
(Python:component_name
)-
El nombre del componente.
Respuesta
Esta respuesta de operación contiene la siguiente información:
restartStatus
(Python:restart_status
)-
El estado de la solicitud reiniciada. El estado de la solicitud puede ser uno de los siguientes:
-
SUCCEEDED
-
FAILED
-
message
-
Un mensaje sobre por qué el componente no se pudo reiniciar, si la solicitud falló.
StopComponent
Detiene los procesos de un componente en el dispositivo principal.
nota
Si bien puede detener cualquier componente, le recomendamos que detenga solo los componentes genéricos.
Esta operación ofrece la misma funcionalidad que el comando detener implementación de la CLI de Greengrass.
Solicitud
Esta solicitud de operación tiene los siguientes parámetros:
componentName
(Python:component_name
)-
El nombre del componente.
Respuesta
Esta respuesta de operación contiene la siguiente información:
stopStatus
(Python:stop_status
)-
El estado de la solicitud de detención. El estado de la solicitud puede ser uno de los siguientes:
-
SUCCEEDED
-
FAILED
-
message
-
Un mensaje sobre por qué el componente no se pudo detener, si la solicitud falló.
CreateDebugPassword
Genera una contraseña asignada al azar que puede usar para iniciar sesión en el componente de la consola de depuración local. La contraseña caduca 8 horas después de generarse.
Esta operación ofrece la misma funcionalidad que el comando get-debug-password de la CLI de Greengrass.
Solicitud
Esta solicitud de la operación no tiene parámetros.
Respuesta
Esta respuesta de operación contiene la siguiente información:
username
-
El nombre de usuario que se utilizará para iniciar sesión.
password
-
La contraseña que se utilizará para iniciar sesión.
passwordExpiration
(Python:password_expiration
)-
La hora en que caduca la contraseña.
certificateSHA256Hash
(Python:certificate_sha256_hash
)-
La huella digital SHA-256 del certificado autofirmado que utiliza la consola de depuración local cuando HTTPS está activado. Cuando abra la consola de depuración local, utilice esta huella digital para comprobar que el certificado es legítimo y que la conexión es segura.
certificateSHA1Hash
(Python:certificate_sha1_hash
)-
La huella digital SHA-1 del certificado autofirmado que utiliza la consola de depuración local cuando HTTPS está activado. Cuando abra la consola de depuración local, utilice esta huella digital para comprobar que el certificado es legítimo y que la conexión es segura.