Anpassen des Erscheinungsbilds der eingebetteten QuickSight-Dashboards und -Visualisierungen
Sie können das Amazon QuickSight Embedding SDK (Version 2.5.0 und höher) verwenden, um zur Laufzeit Änderungen am Design Ihrer eingebetteten QuickSight-Dashboards und -Visualisierungen vorzunehmen. Mithilfe von Laufzeitdesign ist es einfacher, Ihre SaaS-Anwendung (Software-as-a-Service) in Ihre eingebetteten Amazon QuickSight-Ressourcen zu integrieren. Mit Laufzeitdesign können Sie das Design Ihrer eingebetteten Inhalte mit den Designs der übergeordneten Anwendung synchronisieren, in die Ihre QuickSight-Ressourcen eingebettet sind. Sie können das Laufzeitdesign auch verwenden, um Anpassungsoptionen für Leser hinzuzufügen. Änderungen am Design können bei der Initialisierung oder während der gesamten Lebensdauer Ihres eingebetteten Dashboards oder Ihrer eingebetteten Visualisierung auf eingebettete Ressourcen angewendet werden.
Weitere Informationen zu Designs finden Sie unter Verwenden von Designs in Amazon QuickSight. Weitere Informationen zur Verwendung des QuickSight Embedding SDK finden Sie im amazon-quicksight-embedding-sdk
Voraussetzungen
Bevor Sie beginnen, stellen Sie bitte sicher, dass Sie die folgenden Voraussetzungen erfüllen.
-
Sie verwenden das QuickSight Embedding SDK Version 2.5.0 oder höher.
-
Sie haben Zugriffsberechtigungen für das Design, mit dem Sie arbeiten möchten. Um einem Design in QuickSight Berechtigungen zu erteilen, rufen Sie die
UpdateThemePermissions-API auf oder verwenden Sie das Symbol Teilen neben dem Design im Analyseeditor der QuickSight-Konsole.
Terminologie und Konzepte
Die folgende Terminologie kann nützlich sein, wenn Sie mit eingebetteten Laufzeitdesigns arbeiten.
-
Design – Eine Sammlung von Einstellungen, die Sie auf mehrere Analysen und Dashboards anwenden können.
-
Designkonfiguration – Diese Konfiguration enthält alle Anzeigeeigenschaften für ein Design.
-
Designaufhebung – Ein
ThemeConfiguration-Objekt, das auf das aktive Designs angewendet wird, um einige oder alle Aspekte der Inhaltsdarstellung außer Kraft zu setzen. -
Design-ARN – Ein Amazon-Ressourcenname (ARN), der ein QuickSight-Design identifiziert. Es folgt ein Beispiel für einen benutzerdefinierten Design-ARN.
arn:aws:quicksight:region:account-id:theme/theme-idVon QuickSight bereitgestellte Starterdesigns haben keine Region in ihrem Design-ARN. Im Folgenden sehen Sie ein Beispiel eines Starterdesign-ARN.
arn:aws:quicksight::aws:theme/CLASSIC
Einrichtung
Stellen Sie sicher, dass Sie die folgenden Informationen bereit haben, um mit der Arbeit mit Laufzeitdesigns zu beginnen.
-
Die Design-ARNs der Designs, die Sie verwenden möchten. Sie können ein vorhandenes Design auswählen oder ein neues erstellen. Um eine Liste aller Designs und Design-ARNs in Ihrem QuickSight-Konto zu erhalten, rufen Sie den API-Vorgang ListThemes auf. Informationen zu voreingestellten QuickSight-Designs finden Sie unter Einstellen eines Standarddesigns für Amazon-QuickSight-Analysen mit den QuickSight-APIs.
-
Wenn Sie die Einbettung registrierter Benutzer verwenden, stellen Sie sicher, dass der Benutzer Zugriff auf die Designs hat, die Sie verwenden möchten.
Wenn Sie die Einbettung anonymer Benutzer verwenden, übergeben Sie eine Liste von Design-ARNs an den
AuthorizedResourceArns-Parameter derGenerateEmbedUrlForAnonymousUser-API. Anonymen Benutzern wird Zugriff auf jedes Design gewährt, das imAuthorizedResourceArns-Parameter aufgeführt ist.
SDK-Methodenschnittstelle
Setter-Methoden
In der folgenden Tabelle werden verschiedene Setter-Methoden beschrieben, die Entwickler bei Laufzeitdesigns verwenden können.
| Methode | Beschreibung |
|---|---|
|
|
Ersetzt das aktive Design eines Dashboards oder einer Visualisierung durch ein anderes Design. Falls angewendet, wird die Designaufhebung entfernt. Ein Fehler wird zurückgegeben, wenn Sie keinen Zugriff auf das Design haben oder wenn das Design nicht existiert. |
|
|
Legt eine dynamische Wenn die von Ihnen eingegebene |
Initialisieren eingebetteter Inhalte mit einem Design
Um ein eingebettetes Dashboard oder eine eingebettete Visualisierung mit einem nicht standardmäßigen Design zu initialisieren, definieren Sie ein themeOptions-Objekt in den Parametern DashboardContentOptions oder VisualContentOptions und legen Sie die in themeOptions enthaltene Eigenschaft themeArn auf den gewünschten Design-ARN fest.
Im folgenden Beispiel wird ein eingebettetes Dashboard mit dem Design MIDNIGHT initialisiert.
import { createEmbeddingContext } from 'amazon-quicksight-embedding-sdk'; const embeddingContext = await createEmbeddingContext(); const { embedDashboard, } = embeddingContext; const frameOptions = { url: '<YOUR_EMBED_URL>', container: '#experience-container', }; const contentOptions = { themeOptions: { themeArn: "arn:aws:quicksight::aws:theme/MIDNIGHT" } }; // Embedding a dashboard experience const embeddedDashboardExperience = await embedDashboard(frameOptions, contentOptions);
Initialisieren eingebetteter Inhalte mit einer Designaufhebung
Entwickler können Designaufhebungen verwenden, um das Design eines eingebetteten Dashboards oder einer Visualisierung zur Laufzeit zu definieren. Dadurch kann das Dashboard oder die Visualisierung ein Design von einer Drittanbieteranwendung erben, ohne dass ein Design in QuickSight vorkonfiguriert werden muss. Um ein eingebettetes Dashboard oder eine Visualisierung mit einer Designaufhebung zu initialisieren, legen Sie die Eigenschaft themeOverride innerhalb von themeOptions in den Parametern DashboardContentOptions oder VisualContentOptions fest. Im folgenden Beispiel wird die Schriftart eines Dashboard-Designs von der Standardschrift in Amazon Ember überschrieben.
import { createEmbeddingContext } from 'amazon-quicksight-embedding-sdk'; const embeddingContext = await createEmbeddingContext(); const { embedDashboard, } = embeddingContext; const frameOptions = { url: '<YOUR_EMBED_URL>', container: '#experience-container', }; const contentOptions = { themeOptions: { "themeOverride":{"Typography":{"FontFamilies":[{"FontFamily":"Comic Neue"}]}} } }; // Embedding a dashboard experience const embeddedDashboardExperience = await embedDashboard(frameOptions, contentOptions);
Initialisieren eingebetteter Inhalte mit vorgeladenen Designs
Entwickler können eine Reihe von Dashboard-Designs so konfigurieren, dass sie bei der Initialisierung vorgeladen werden. Dies ist besonders nützlich, wenn Sie schnell zwischen verschiedenen Ansichten wechseln möchten, z. B. vom Dunkel- und in den Hellmodus. Ein eingebettetes Dashboard oder eine eingebettete Visualisierung kann mit bis zu 5 vorgeladenen Designs initialisiert werden. Um vorgeladene Designs zu verwenden, legen Sie die Eigenschaft preloadThemes innerhalb von DashboardContentOptions oder VisualContentOptions mit einem Array von bis zu 5 themeArns fest. Im folgenden Beispiel werden die Starterdesigns Midnight und Rainier vorab in ein Dashboard geladen.
import { createEmbeddingContext } from 'amazon-quicksight-embedding-sdk'; const embeddingContext = await createEmbeddingContext(); const { embedDashboard, } = embeddingContext; const frameOptions = { url: '<YOUR_EMBED_URL>', container: '#experience-container', }; const contentOptions = { themeOptions: { "preloadThemes": ["arn:aws:quicksight::aws:theme/RAINIER", "arn:aws:quicksight::aws:theme/MIDNIGHT"] } }; // Embedding a dashboard experience const embeddedDashboardExperience = await embedDashboard(frameOptions, contentOptions);