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.
Actualización de las configuraciones de los componentes
Las configuraciones de los componentes son objetos JSON que definen los parámetros de cada componente. La receta de cada componente define su configuración predeterminada, que puede modificar al implementar los componentes en los dispositivos principales.
Al crear una implementación, puede especificar la actualización de configuración que se aplicará a cada componente. Las actualizaciones de configuración son operaciones de parche, lo que significa que la actualización modifica la configuración del componente que existe en el dispositivo principal. Si el dispositivo principal no tiene el componente, la actualización de configuración modifica y aplica la configuración predeterminada para esa implementación.
La actualización de configuración define las actualizaciones de restablecimiento y las actualizaciones de combinación. Las actualizaciones de restablecimiento definen qué valores de configuración se deben restablecer a sus valores predeterminados o eliminar. Las actualizaciones de combinación definen los nuevos valores de configuración que se deben establecer para el componente. Al implementar una actualización de configuración, el software AWS IoT Greengrass principal ejecuta la actualización de restablecimiento antes de la actualización de fusión.
Los componentes pueden validar las actualizaciones de configuración que se implementen. El componente se suscribe para recibir una notificación cuando una implementación cambia su configuración y puede rechazar una configuración que no sea compatible. Para obtener más información, consulte Interacción con la configuración de componentes.
Actualizaciones de restablecimiento
Las actualizaciones de restablecimiento definen qué valores de configuración se deben restablecer a sus valores predeterminados en el dispositivo principal. Si un valor de configuración no tiene un valor predeterminado, la actualización de restablecimiento elimina ese valor de la configuración del componente. Esto puede ayudarlo a reparar un componente que se interrumpe como resultado de una configuración no válida.
Utilice una lista de punteros JSON para definir qué valores de configuración desea restablecer. Los punteros JSON comienzan con una barra diagonal /
. Para identificar un valor en una configuración de componentes anidados, use barras diagonales (/
) para separar las claves de cada nivel de la configuración. Para obtener más información, consulte la especificación de puntero JSON
nota
Solo puede restablecer los valores predeterminados de una lista completa. No puede usar las actualizaciones de restablecimiento para restablecer un elemento individual de una lista.
Para restablecer la configuración completa de un componente a sus valores predeterminados, especifique una única cadena vacía como actualización de restablecimiento.
"reset": [""]
Actualizaciones de combinación
Las actualizaciones de combinación definen los valores de configuración que se van a insertar en la configuración de los componentes principales. La actualización de fusión es un objeto JSON que el software AWS IoT Greengrass principal fusiona después de restablecer los valores de las rutas que se especificaron en la actualización de restablecimiento. Al usar AWS CLI o AWS SDKs, debe serializar este objeto JSON como una cadena.
Puede combinar un par clave-valor que no exista en la configuración predeterminada del componente. También puede combinar un par clave-valor que tenga un tipo diferente al del valor con la misma clave. El nuevo valor reemplaza al valor anterior. Esto significa que puede cambiar la estructura del objeto de configuración.
Puede combinar valores nulos y cadenas, listas y objetos vacíos.
nota
No puede utilizar las actualizaciones de combinación para insertar o agregar un elemento a una lista. Puede reemplazar una lista completa o definir un objeto en el que cada elemento tenga una clave única.
AWS IoT Greengrass usa JSON para los valores de configuración. JSON especifica un tipo de número, pero no diferencia entre números enteros y flotantes. Como resultado, los valores de configuración pueden convertirse en valores flotantes en AWS IoT Greengrass. Para garantizar que su componente use el tipo de datos correcto, le recomendamos que defina los valores de configuración numéricos como cadenas. A continuación, pida a su componente que los analice como enteros o flotantes. Esto garantiza que los valores de configuración sean del mismo tipo en la configuración y en el dispositivo principal.
Uso de variables de receta en las actualizaciones de combinación
Esta característica está disponible para la versión 2.6.0 y versiones posteriores del componente núcleo de Greengrass.
Si establece la opción de interpolateComponentConfigurationconfiguración del núcleo de Greengrass entrue
, puede utilizar variables de receta distintas de la variable de
receta en las actualizaciones de fusión. Por ejemplo, puede usar la variable de component_dependency_name
:configuration:json_pointer
{iot:thingName}
receta en una actualización de fusión para incluir el nombre del dispositivo principal en el valor de AWS IoT la configuración de un componente, como una política de autorización de comunicación entre procesos (IPC).
Ejemplos
En el siguiente ejemplo, se muestran las actualizaciones de configuración de un componente del panel que tiene la siguiente configuración predeterminada. Este componente de ejemplo muestra información sobre el equipo industrial.
{ "name": null, "mode": "REQUEST", "network": { "useHttps": true, "port": { "http": 80, "https": 443 }, }, "tags": [] }
ejemplo Ejemplo 1: actualización de combinación
Cree una implementación que aplique la siguiente actualización de configuración, que especifica una actualización de combinación, pero no una actualización de restablecimiento. Esta actualización de configuración indica al componente que muestre el panel en el puerto HTTP 8080 con los datos de dos calderas.
Tras esta actualización, el componente del panel tiene la siguiente configuración.
{ "name": "Factory 2A", "mode": "REQUEST", "network": { "useHttps": false, "port": { "http": 8080, "https": 443 } }, "tags": [ "/boiler/1/temperature", "/boiler/1/pressure", "/boiler/2/temperature", "/boiler/2/pressure" ] }
ejemplo Ejemplo 2: actualizaciones de restablecimiento y combinación
A continuación, cree una implementación que aplique la siguiente actualización de configuración, que especifica una actualización de combinación y una actualización de restablecimiento. Estas actualizaciones especifican mostrar el panel en el puerto HTTPS predeterminado con datos de diferentes calderas. Estas actualizaciones modifican la configuración resultante de las actualizaciones de configuración del ejemplo anterior.
Tras esta actualización, el componente del panel tiene la siguiente configuración.
{ "name": "Factory 2A", "mode": "REQUEST", "network": { "useHttps": true, "port": { "http": 8080, "https": 443 } }, "tags": [ "/boiler/3/temperature", "/boiler/3/pressure", "/boiler/4/temperature", "/boiler/4/pressure", ] }