Preparación para utilizar el Catálogo de paquetes de software - AWS IoT Core

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.

Preparación para utilizar el Catálogo de paquetes de software

La siguiente sección proporciona una descripción general del ciclo de vida de la versión del paquete e información para usar AWS IoT Device Management Software Package Catalog.

Ciclo de vida de la versión de paquete

La versión de un paquete puede evolucionar a través de los siguientes estados del ciclo de vida: draft, published ydeprecated. También puede ser deleted.

El ciclo de vida de la versión del paquete con el borrador, publicado y obsoleto. También se puede eliminar.
  • Borrador

    Al crear una versión de paquete, se encuentra en un draft estado. Este estado indica que el paquete de software se está preparando o está incompleto.

    Mientras la versión del paquete esté en este estado, no podrá desplegarla. Puede editar la descripción, los atributos y las etiquetas de la versión del paquete.

    Puedes hacer la transición de una versión de paquete que se encuentre en ese draft estado published o esté deleted utilizando la consola o ejecutando DeletePackageVersionAPIlas operaciones UpdatePackageVersiono.

  • Publicado

    Cuando la versión del paquete esté lista para su implementación, pase la versión del paquete a un published estado. Mientras se encuentre en este estado, puede elegir identificar la versión del paquete como la versión predeterminada editando el paquete de software en la consola o mediante la UpdatePackageAPIoperación. En este estado, solo puede editar la descripción y las etiquetas.

    Puede realizar la transición de una versión de paquete que se encuentre deprecated en el published estado actual deleted mediante la consola o mediante DeletePackageVersionAPIlas operaciones UpdatePackageVersiono.

  • Obsoleto

    Si hay disponible una nueva versión del paquete, puede realizar la transición a una versión anterior del paquete a deprecated. Aún puedes implementar trabajos con una versión de paquete obsoleta. También puede nombrar una versión de paquete obsoleta como versión predeterminada y editar solo la descripción y las etiquetas.

    Considere la posibilidad de hacer la transición de una versión de paquete a deprecated una versión que esté desactualizada, pero aún tenga dispositivos en el campo que usen la versión anterior o necesiten mantenerla debido a la dependencia del tiempo de ejecución.

    Puedes realizar la transición de una versión de paquete que esté deleted en ese deprecated estado published o a través de la consola o ejecutando las operaciones UpdatePackageVersiono DeletePackageVersionAPI.

  • Eliminado

    Si ya no desea utilizar una versión de paquete, puede eliminarla mediante la consola o ejecutar la DeletePackageVersionAPIoperación.

    nota

    Si elimina una versión de paquete mientras hay trabajos pendientes que hacen referencia a ella, recibirá un mensaje de error cuando el trabajo finalice con éxito e intente actualizar la sombra con nombre reservado.

    Si la versión del paquete de software que desea eliminar aparece como la versión del paquete por defecto, primero debe actualizar el paquete para nombrar otra versión como predeterminada o dejar el campo sin nombre. Puede hacerlo mediante la consola o la UpdatePackageVersionAPIoperación. (Para eliminar cualquier versión de paquete con nombre predeterminado, defina el unsetDefaultVersionparámetro en true cuando ejecute la UpdatePackageAPIoperación).

    Si elimina un paquete de software a través de la consola, se eliminan todas las versiones del paquete asociadas a ese paquete, a menos que una de ellas se nombre como versión por defecto.

Convenciones de nomenclatura de versiones de paquetes

Al asignar nombres a las versiones de los paquetes, es importante planificar y aplicar una estrategia de nomenclatura lógica para que usted y los demás puedan identificar fácilmente la última versión del paquete y su progresión. Debe proporcionar un nombre de versión al crear la versión del paquete, pero la estrategia y el formato dependen en gran medida de su modelo de negocio.

Como práctica recomendada, se recomienda utilizar el formato de control de versiones SemVersemántico. Por ejemplo, 1.2.3 donde 1 es la versión principal para los cambios funcionalmente incompatibles, 2 la versión principal para los cambios compatibles desde el punto de vista funcional y 3 la versión de parche (para las correcciones de errores) Para obtener más información, consulte Semantic Versioning 2.0.0. Para obtener más información sobre los requisitos de nombre de la versión del paquete, consulte versionNamela guía de AWS IoT API referencia.

Versión predeterminada

Establecer una versión como predeterminada es opcional. Puede agregar o eliminar versiones de paquete predeterminadas. También puede implementar una versión de paquete que no figure como la versión predeterminada.

Al crear una versión de paquete, se coloca en un estado draft y no se le puede asignar el nombre de versión predeterminada hasta que se haga la transición de la versión del paquete a publicada. El catálogo de paquetes de software no selecciona automáticamente una versión como predeterminada ni actualiza una versión de paquete más reciente como predeterminada. Debe asignar intencionadamente un nombre a la versión del paquete que elija a través de la consola o ejecutando la UpdatePackageVersionAPIoperación.

Atributos de la versión

Los atributos de versión y sus valores contienen información importante sobre las versiones de los paquetes. Se recomienda definir los atributos de uso general para un paquete o una versión del paquete. Por ejemplo, puede crear un par nombre-valor para la plataforma, la arquitectura, el sistema operativo, la fecha de lanzamiento, el autor o Amazon S3. URL

Al crear un AWS IoT trabajo con un documento de trabajo, también puede optar por utilizar una variable de sustitución ($parameter) que haga referencia al valor de un atributo. Para obtener más información, consulte Preparación AWS IoT de trabajos.

Los atributos de versión que se utilizan en las versiones de paquetes no se añadirán automáticamente a la sombra reservada denominada y no se podrán indexar ni consultar directamente a través de la indexación de flotas. Para indexar o consultar los atributos de la versión del paquete mediante la indexación de flotas, puede rellenar el atributo de la versión en la sombra reservada con nombre.

Se recomienda que el parámetro del atributo de versión de la reserva se llame Shadow Capture las propiedades informadas por el dispositivo, como el sistema operativo y el tiempo de instalación. También se pueden indexar y consultar mediante la indexación de flotas.

No es necesario que los atributos de la versión sigan una convención de nomenclatura específica. Puede crear pares de nombre-valor para satisfacer las necesidades de su empresa. El tamaño combinado de todos los atributos de una versión de paquete está limitado a 3 KB. Para obtener más información, consulte Límites de paquetes de software y versiones de paquetes del Catálogo de paquetes de software.

Habilitar la indexación AWS IoT de la flota

Debe activar la indexación de flotas para el Catálogo de paquetes de software para crear o actualizar paquetes de software y versiones de paquetes. La indexación de flotas proporciona un soporte que permite agrupar AWS IoT las cosas mediante grupos de cosas dinámicos que se filtran por versión. Por ejemplo, la indexación de flotas puede identificar elementos que tienen o no una versión de paquete específica instalada, que no tienen ninguna versión de paquete instalada o que coinciden con pares de nombre y valor específicos. Por último, la indexación de la flota proporciona métricas estándar y personalizadas que puede utilizar para obtener información sobre el estado de su flota. Para obtener más información, consulte Preparación para la indexación de flotas.

nota

Habilitar la indexación de flotas para el Catálogo de Paquetes de Software incurre en costes de servicio estándar. Para obtener más información, consulte Precios de AWS IoT Device Management.

Sombra con nombre reservado

El nombre reservado shadow, $package, refleja el estado de los paquetes de software y las versiones de los paquetes instalados en el dispositivo. La indexación de flotas utiliza la sombra con nombre reservado como origen de datos para crear métricas estándar y personalizadas que le permitan consultar el estado de su flota. Para más información, consulte Preparación de la indexación de flotas.

Una sombra con nombre reservado es similar a una sombra con nombre, con la excepción de que su nombre está predefinido y no se puede cambiar. Además, la sombra reservada con nombre asignado no se actualiza con los metadatos y solo usa las palabras clave version y attributes.

Las solicitudes de actualización que incluyan otras palabras clave, por ejemplo description, recibirán una respuesta de error en relación con el tema rejected. Para más información, consulte Mensajes de error de Device Shadow.

Se puede crear al crear AWS IoT algo a través de la consola, cuando un AWS IoT trabajo se completa correctamente y actualiza la sombra y si se ejecuta la UpdateThingShadowAPIoperación. Para obtener más información, consulta UpdateThingShadowla guía para AWS IoT Core desarrolladores.

nota

La indexación de la sombra con nombre reservada no cuenta para el número de sombras con nombre que la indexación de flotas puede indexar. Para más información, consulte Límites y cuotas de indexación de flotas AWS IoT Device Management. Además, si decides que AWS IoT Jobs actualice el nombre reservado Shadow cuando un trabajo se complete correctamente, la API llamada se tendrá en cuenta para tus operaciones de Device Shadow y registro, y puede tener un coste. Para obtener más información, consulta los límites y cuotas de los AWS IoT Device Management trabajos y el tipo IndexingFilterAPIde datos.

Estructura de la sombra $package

La sombra reservada con el nombre contiene lo siguiente:

{ "state": { "reported": { "<packageName>": { "version": "", "attributes": { } } } }, "version" : 1 "timestamp" : 1672531201 }

Las propiedades de la sombra se actualizan con la siguiente información:

  • <packageName>: el nombre del paquete de software instalado, que se actualiza con el packageNameparámetro.

  • version: el nombre de la versión del paquete instalado, que se actualiza con el versionNameparámetro.

  • attributes: metadatos opcionales almacenados por el dispositivo e indexados mediante la indexación de flotas. Esto permite a los clientes consultar sus índices en función de los datos almacenados.

  • version: El número de versión de la sombra. Se incrementa automáticamente cada vez que se actualiza la sombra y comienza en 1.

  • timestamp: Indica cuándo se actualizó por última vez la sombra y se registra en tiempo Unix.

Para obtener más información sobre el formato y el comportamiento de una sombra con nombre, consulte Orden de los mensajes Servicio de sombra de dispositivo de AWS IoT.

Eliminar un paquete de software y sus versiones

Antes de eliminar un paquete de software, haga lo siguiente:

  • Confirme que el paquete y sus versiones no se estén implementando activamente.

  • Elimine primero todas las versiones asociadas. Si una de las versiones está designada como la versión predeterminada, debe eliminar la versión predeterminada nombrada del paquete. Como la designación de una versión predeterminada es opcional, no hay ningún conflicto al eliminarla. Para eliminar la versión predeterminada del paquete de software, edite el paquete a través de la consola o utilice la UpdatePackageVersionAPIoperación.

Mientras no haya una versión de paquete predeterminada con nombre, puede usar la consola para eliminar un paquete de software y también se eliminarán todas sus versiones del paquete. Si utiliza una API llamada para eliminar paquetes de software, primero debe eliminar las versiones del paquete y, a continuación, el paquete de software.