Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Betten Sie ein QuickSight Amazon-Dashboard in eine lokale Angular-Anwendung ein
Erstellt von Sean Griffin (AWS) und Milena Godau (AWS)
Übersicht
Dieses Muster bietet Anleitungen für die Einbettung eines QuickSight Amazon-Dashboards in eine lokal gehostete Angular-Anwendung zur Entwicklung oder zum Testen. Die eingebettete Analysefunktion in unterstützt diese Funktionalität QuickSight nicht nativ. Es erfordert ein QuickSight Konto mit einem vorhandenen Dashboard und Kenntnisse von Angular.
Wenn Sie mit eingebetteten QuickSight Dashboards arbeiten, müssten Sie Ihre Anwendung normalerweise auf einem Webserver hosten, um das Dashboard anzeigen zu können. Dies erschwert die Entwicklung, da Sie Ihre Änderungen kontinuierlich auf den Webserver übertragen müssen, um sicherzustellen, dass sich alles korrekt verhält. Dieses Muster zeigt, wie Sie einen lokal gehosteten Server ausführen und QuickSight eingebettete Analysen verwenden, um den Entwicklungsprozess einfacher und effizienter zu gestalten.
Voraussetzungen und Einschränkungen
Voraussetzungen
Einschränkungen
Dieses Muster bietet Anleitungen zum Einbetten eines QuickSight Dashboards mithilfe des Authentifizierungstyps
ANONYMOUS
(öffentlich zugänglich). Wenn Sie AWS Identity and Access Management (IAM) oder die QuickSight Authentifizierung mit Ihren eingebetteten Dashboards verwenden, gilt der angegebene Code nicht. Die Schritte zum Hosten der Angular-Anwendung im Abschnitt Epics sind jedoch weiterhin gültig.Für die Verwendung der GetDashboardEmbedUrlAPI mit dem
ANONYMOUS
Identitätstyp ist ein QuickSight Kapazitätspreisplan erforderlich.
Versionen
Architektur
Technologie-Stack
Eckiges Frontend
Backend für AWS Lambda und Amazon API Gateway
Architektur
In dieser Architektur ermöglicht das HTTP APIs im API Gateway der lokalen Angular-Anwendung, die Lambda-Funktion aufzurufen. Die Lambda-Funktion gibt die URL zum Einbetten des QuickSight Dashboards zurück.

Automatisierung und Skalierung
Sie können die Backend-Bereitstellung mithilfe von AWS CloudFormation oder AWS Serverless Application Model (AWS SAM) automatisieren.
Tools
Tools
Angular CLI
ist ein Befehlszeilenschnittstellentool, mit dem Sie Angular-Anwendungen direkt von einer Befehlsshell aus initialisieren, entwickeln, einrichten und verwalten können. QuickSight Das Embedding SDK
wird verwendet, um Dashboards in Ihren HTML-Code einzubetten. QuickSight mkcert
ist ein einfaches Tool zum Erstellen lokal vertrauenswürdiger Entwicklungszertifikate. Es erfordert keine Konfiguration. mkcert ist erforderlich, da nur HTTPS-Anfragen zum Einbetten von Dashboards QuickSight zulässig sind.
AWS-Services
Amazon API Gateway ist ein AWS-Service für die Erstellung, Veröffentlichung, Wartung, Überwachung und Sicherung von REST, HTTP und WebSocket APIs in jeder Größenordnung.
AWS Lambda ist ein Rechenservice, der die Ausführung von Code unterstützt, ohne Server bereitzustellen oder zu verwalten. Lambda führt Ihren Code nur bei Bedarf aus und skaliert automatisch – von einigen Anforderungen pro Tag bis zu Tausenden pro Sekunde. Sie bezahlen nur für die Datenverarbeitungszeit, die Sie wirklich nutzen und es werden keine Gebühren in Rechnung gestellt, wenn Ihr Code nicht ausgeführt wird.
Amazon QuickSight ist ein Geschäftsanalysedienst, mit dem Sie Visualisierungen erstellen, Ad-hoc-Analysen durchführen und Geschäftserkenntnisse aus Ihren Daten gewinnen können.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie eine EmbedUrl Richtlinie. | Erstellen Sie eine IAM-Richtlinie mit QuicksightGetDashboardEmbedUrldem Namen und den folgenden Eigenschaften.
| AWS-Administrator |
So erstellen Sie die Lambda-Funktion: | 1. Öffnen Sie in der Lambda-Konsole die Seite Funktionen. 2. Wählen Sie Create Function. 3. Wählen Sie Von Grund auf neu schreiben aus. 4. Geben Sie für Function name (Funktionsname) 5. Wählen Sie für Runtime (Laufzeit) die Option Python 3.9 aus. 6. Wählen Sie Create Function. 7. Kopieren Sie auf der Registerkarte Code den folgenden Code in die Lambda-Funktion.
8. Wählen Sie Bereitstellen. | App-Developer |
Fügen Sie die Dashboard-ID als Umgebungsvariable hinzu. | Fügen Sie Ihrer Lambda-Funktion
| App-Developer |
Fügen Sie Berechtigungen für die Lambda-Funktion hinzu. | Ändern Sie die Ausführungsrolle der Lambda-Funktion und fügen Sie ihr die QuicksightGetDashboardEmbedUrlRichtlinie hinzu.
| App-Developer |
Testen Sie die Lambda-Funktion. | Erstellen Sie ein Testereignis und führen Sie es aus. Sie können die Vorlage „Hello World“ verwenden, da die Funktion keine der Daten des Testereignisses verwendet.
AnmerkungWie im Abschnitt Voraussetzungen und Einschränkungen erwähnt, muss für Ihr QuickSight Konto ein Preisplan für Sitzungskapazität gelten. Andernfalls wird bei diesem Schritt eine Fehlermeldung angezeigt. | App-Developer |
Erstellen Sie eine API in API Gateway. |
Anmerkung
| App-Developer |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie die Anwendung mit der Angular CLI. |
| App-Developer |
Fügen Sie das QuickSight Embedding SDK hinzu. |
| App-Developer |
Fügen Sie Ihrer Datei dashboard.component.ts Code hinzu. |
| App-Developer |
Fügen Sie Code zu Ihrer Datei dashboard.component.html hinzu. | Fügen Sie nun folgenden Code in die Datei
| App-Developer |
Ändern Sie Ihre app.component.html-Datei, um Ihre Dashboard-Komponente zu laden. |
| App-Developer |
Importieren Sie HttpClientModule in Ihre app.module.ts-Datei. |
| App-Developer |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Konfigurieren Sie mkcert. | AnmerkungDie folgenden Befehle gelten für Unix- oder MacOS-Computer. Wenn Sie Windows verwenden, finden Sie im Abschnitt Zusätzliche Informationen den entsprechenden Befehl echo.
| App-Developer |
Konfigurieren Sie QuickSight es so, dass Ihre Domain zugelassen wird. |
| AWS-Administrator |
Testen Sie die Lösung. | Starten Sie einen lokalen Angular-Entwicklungsserver, indem Sie den folgenden Befehl ausführen.
Dadurch wird Secure Sockets Layer (SSL) mit dem benutzerdefinierten Zertifikat aktiviert, das Sie zuvor erstellt haben. Wenn der Build abgeschlossen ist, wird ein Browserfenster geöffnet und Sie können Ihr eingebettetes QuickSight Dashboard anzeigen, das lokal in Angular gehostet wird. | App-Developer |
Zugehörige Ressourcen
Zusätzliche Informationen
Wenn Sie Windows verwenden, führen Sie das Befehlszeilenfenster als Administrator aus und konfigurieren Sie mit dem folgenden Befehl, dass immer my-qs-app.net
zu Ihrem lokalen PC umgeleitet wird.
echo 127.0.0.1 my-qs-app.net >> %WINDIR%\System32\Drivers\Etc\Hosts