Ejemplos de aplicaciones, scripts y plantillas - AWS Panorama

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.

Ejemplos de aplicaciones, scripts y plantillas

El repositorio de GitHub para esta guía proporciona aplicaciones, scripts y plantillas de ejemplo para dispositivos AWS Panorama. Utilice estos ejemplos para aprender las prácticas recomendadas y automatizar los flujos de trabajo de desarrollo.

Aplicaciones de muestra

Las aplicaciones de muestra muestran el uso de funciones de AWS Panorama y tareas comunes de visión artificial. Estas aplicaciones de muestra incluyen scripts y plantillas que automatizan la configuración y la implementación. Con una configuración mínima, puede implementar y actualizar aplicaciones desde la línea de comandos.

  • aws-panorama-sample: visión artificial básica con un modelo de clasificación. Use el AWS SDK for Python (Boto) para cargar métricas en CloudWatch, instrumentar métodos de preprocesamiento e inferencia y configurar el registro.

  • servidor de depuración: abra los puertos entrantes del dispositivo y reenvíe el tráfico a un contenedor de códigos de aplicación. Utilice subprocesos múltiples para ejecutar código de aplicación, un servidor HTTP y un cliente HTTP de forma simultánea.

  • custom-model: exporte modelos desde el código y compílelos con Sagemaker Neo para comprobar la compatibilidad con el dispositivo AWS Panorama. Cree localmente en un desarrollo de Python, en un contenedor de Docker o en una instancia de Amazon EC2. Exporte y compile todos los modelos de aplicaciones integrados en Keras para una versión específica de TensorFlow o Python.

Para ver más aplicaciones de muestra, visite también el repositorio aws-panorama-samples.

Scripts de utilidades

Los scripts del directorio util-scripts administran los recursos de AWS Panorama o automatizan los flujos de trabajo de desarrollo.

  • provision-device.sh: aprovisione un dispositivo.

  • check-updates.sh: compruebe si hay actualizaciones de software del dispositivo y aplíquelas.

  • reboot-device.sh: reinicie un dispositivo.

  • register-camera.sh: registre una cámara.

  • deregister-camera.sh: elimine un nodo de cámara.

  • view-logs.sh: vea los registros de una instancia de aplicación.

  • pause-camera.sh: pause o reanude la transmisión de una cámara.

  • push.sh: cree, cargue e implemente una aplicación.

  • rename-package.sh: cambie el nombre de un paquete de nodos. Actualiza los nombres de los directorios, los archivos de configuración y el manifiesto de la aplicación.

  • samplify.sh: sustituya su ID de cuenta por un ID de cuenta de ejemplo y restaure las configuraciones de respaldo para eliminar la configuración local.

  • update-model-config.sh: vuelva a añadir el modelo a la aplicación después de actualizar el archivo descriptor.

  • cleanup-patches.sh: anule el registro de las versiones de parches antiguas y elimine sus manifiestos de Amazon S3.

Para obtener información sobre el uso, consulte el archivo README.

Plantillas AWS CloudFormation

Utilice las plantillas de AWS CloudFormation del directorio cloudformation-templates para crear recursos para las aplicaciones de AWS Panorama.

  • alarm-application.yml: cree una alarma que supervise una aplicación en busca de errores. Si la instancia de la aplicación genera errores o deja de ejecutarse durante 5 minutos, la alarma envía una notificación por correo electrónico.

  • alarm-device.yml: cree una alarma que supervise la conectividad de un dispositivo. Si el dispositivo deja de enviar métricas durante 5 minutos, la alarma envía una notificación por correo electrónico.

  • application-role.yml: cree un rol de aplicación. El rol incluye permisos para enviar métricas a CloudWatch. Añada permisos a la declaración de política para otras operaciones de API que utilice su aplicación.

  • vpc-appliance.yml: cree una VPC con acceso al servicio de subred privado para el dispositivo AWS Panorama. Para conectar el dispositivo a una VPC, utilice AWS Direct Connect o AWS Site-to-Site VPN.

  • vpc-endpoint.yml: cree una VPC con acceso al servicio de subred privada al servicio AWS Panorama. Los recursos de la VPC se pueden conectar a AWS Panorama para supervisar y gestionar los recursos de AWS Panorama sin necesidad de conectarse a Internet.

El script create-stack.sh de este directorio crea stacks de AWS CloudFormation. Requiere un número variable de argumentos. El primer argumento es el nombre de la plantilla y los argumentos restantes sustituyen a los parámetros de la plantilla.

Por ejemplo, el siguiente comando crea un rol de aplicación.

$ ./create-stack.sh application-role

Más ejemplos y herramientas

El repositorio aws-panorama-samples tiene más aplicaciones de muestra y herramientas útiles.

La comunidad de AWS también ha desarrollado herramientas y directrices para AWS Panorama. Consulta los siguientes proyectos de código abierto en GitHub.

  • cookiecutter-panorama: una plantilla de Cookiecutter para aplicaciones de AWS Panorama.

  • backpack: módulos de Python para acceder a los detalles del entorno del tiempo de ejecución, la creación de perfiles y las opciones adicionales de salida de vídeo.