Inserte un panel de Amazon QuickSight en una aplicación Angular local
Sean Griffin y Milena Godau, Amazon Web Services
Resumen
Este patrón proporciona orientación para integrar un panel de Amazon QuickSight en una aplicación Angular alojada localmente para su desarrollo o prueba. La característica de análisis integrada en QuickSight no admite esta funcionalidad de forma nativa. Requiere una cuenta QuickSight con un panel de control existente y conocimientos de Angular.
Cuando trabaja con paneles QuickSight integrados, normalmente tendrá que alojar la aplicación en un servidor web para ver el panel. Esto dificulta el desarrollo, ya que hay que enviar continuamente los cambios al servidor web para asegurarse de que todo funciona correctamente. Este patrón muestra cómo ejecutar un servidor alojado localmente y utilizar los análisis integrados de QuickSight para facilitar y agilizar el proceso de desarrollo.
Requisitos previos y limitaciones
Requisitos previos
Limitaciones
Este patrón proporciona orientación sobre cómo incrustar un panel de QuickSight mediante el tipo de autenticación
ANONYMOUS(de acceso público). Si está utilizando la autenticación AWS Identity and Access Management (IAM) o QuickSight con los paneles integrados, el código proporcionado no se aplicará. Sin embargo, los pasos para alojar la aplicación Angular en la sección Epics siguen siendo válidos.El uso de la API GetDashboardEmbedURL con el tipo de identidad
ANONYMOUSrequiere un plan de precios de capacidad de QuickSight.
Versiones
Arquitectura
Pila de tecnología
Frontend de Angular
Backend de AWS Lambda y Amazon API Gateway
Arquitectura
En esta arquitectura, las API HTTP de API Gateway permiten que la aplicación Angular local llame a la función de Lambda. La función de Lambda devuelve la URL para incrustar el panel de QuickSight.

Automatizar y escalar
Puede automatizar la implementación de backend mediante AWS CloudFormation o AWS Serverless Application Model (AWS SAM).
Herramientas
Herramientas
CLI de Angular
es una herramienta de interfaz de la línea de comandos que se utiliza para inicializar, desarrollar, estructurar y mantener aplicaciones de Angular directamente desde un intérprete de comandos. El SDK de integración de QuickSight
se utiliza para incrustar los paneles de QuickSight en el código HTML. mkcert
es una herramienta sencilla para crear certificados de desarrollo fiables a nivel local. No requiere configuración. Se requiere mkcert porque QuickSight solo permite solicitudes HTTPS para incrustar paneles.
Servicios de AWS
Amazon API Gateway es un servicio de AWS para la creación, publicación, mantenimiento, monitoreo y protección de API REST, HTTP y WebSocket a cualquier escala.
AWS Lambda es un servicio de computación que permite ejecutar código sin aprovisionar ni administrar servidores. Lambda ejecuta su código solo cuando es necesario y escala de manera automática, desde unas pocas solicitudes por día hasta miles por segundo. Solo pagará por el tiempo de computación que consuma, no se aplican cargos cuando el código no se está ejecutando.
Amazon QuickSight es un servicio de análisis empresarial para crear visualizaciones, realizar análisis ad hoc y obtener información empresarial de sus datos.
Epics
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Cree una política de EmbedURL. | Cree una política de IAM denominada QuickSightGetDashboardEmbedURL que tenga las siguientes propiedades.
| Administrador de AWS |
Crear la función de Lambda. | 1. Abra la página Funciones 2. Elija Crear función. 3. Elija Crear desde cero. 4. En Nombre de la función, introduzca 5. En Runtime (Tiempo de ejecución), elija Python 3.9. 6. Elija Crear función. 7. En la pestaña Código, copie el siguiente código en la función de Lambda.
8. Elija Implementar. | Desarrollador de aplicaciones |
Añada el ID del panel de control como variable de entorno. | Añada
| Desarrollador de aplicaciones |
Añada permisos para la función de Lambda. | Modifique la función de ejecución de la función de Lambda y agréguele la política QuickSightGetDashboardEmbedURL.
| Desarrollador de aplicaciones |
Probar la función de Lambda. | Cree y ejecute un evento de prueba. Puede usar la plantilla "Hello World", ya que la función no utilizará ninguno de los datos del evento de prueba.
notaComo se menciona en la sección Requisitos previos y limitaciones, su cuenta QuickSight debe estar sujeta a un plan de precios por capacidad de sesión. De lo contrario, en este se paso mostrará un mensaje de error. | Desarrollador de aplicaciones |
Crear una API en API Gateway. |
nota
| Desarrollador de aplicaciones |
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Cree la aplicación con la CLI de Angular. |
| Desarrollador de aplicaciones |
Añada el SDK de integración de QuickSight. |
| Desarrollador de aplicaciones |
Añada código a su archivo dashboard.component.ts. |
| Desarrollador de aplicaciones |
Añada código a su archivo dashboard.component.html. | Agregue el siguiente código al archivo
| Desarrollador de aplicaciones |
Modifique el archivo app.component.html para cargar el componente del panel de control. |
| Desarrollador de aplicaciones |
Importe HttpClientModule en su archivo app.module.ts. |
| Desarrollador de aplicaciones |
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Configure mkcert. | notaLos siguientes comandos son para máquinas Unix o macOS. Si utiliza Windows, consulte la sección Información adicional para ver el comando echo equivalente.
| Desarrollador de aplicaciones |
Configure QuickSight para permitir su dominio. |
| Administrador de AWS |
Probar la solución. | Para iniciar un servidor de desarrollo local de Angular, ejecute el siguiente comando.
Esto habilita la capa de conexión segura (SSL) con el certificado personalizado que ha creado anteriormente. Cuando se completa la compilación, se abre una ventana del navegador y puede ver su panel de QuickSight integrado alojado localmente en Angular. | Desarrollador de aplicaciones |
Recursos relacionados
Información adicional
Si utiliza Windows, ejecute la ventana de línea de comandos como administrador y configure my-qs-app.net para que siempre se redirija a su PC local mediante el siguiente comando.
echo 127.0.0.1 my-qs-app.net >> %WINDIR%\System32\Drivers\Etc\Hosts