Personalizzare l'aspetto dei pannelli di controllo e degli elementi visivi incorporati in QuickSight
Puoi utilizzare l'SDK Amazon QuickSight Embedding (versione 2.5.0 e successive) per apportare modifiche ai temi dei pannelli di controllo e degli elementi visivi QuickSight incorporati durante il runtime. Un tema del runtime semplifica l'integrazione dell'applicazione software as a service (SaaS) con gli asset incorporati di Amazon QuickSight. Un tema del runtime consente di sincronizzare il tema del contenuto incorporato con i temi dell'applicazione principale in cui sono incorporate le risorse QuickSight. È inoltre possibile utilizzare il tema del runtime per aggiungere opzioni di personalizzazione per i lettori. Le modifiche ai temi possono essere applicate alle risorse incorporate al momento dell'inizializzazione o per tutta la durata del pannello di controllo o dell'elemento visivo incorporato.
Per ulteriori informazioni sui temi, consulta Utilizzo di temi in Amazon QuickSight. Per ulteriori informazioni sull'utilizzo dell'SDK di incorporamento di QuickSight, consulta amazon-quicksight-embedding-sdk
Prerequisiti
Prima di iniziare, assicurati di soddisfare i seguenti requisiti.
-
Stai utilizzando l'SDK QuickSight Embedding versione 2.5.0 o successiva.
-
Autorizzazioni per accedere al tema su cui si desidera lavorare. Per concedere le autorizzazioni a un tema in QuickSight, effettua una chiamata API
UpdateThemePermissionso utilizza l'icona Condividi accanto al tema nell'editor di analisi della console QuickSight.
Concetti e terminologia
La seguente terminologia può essere utile quando lavori con il tema di runtime incorporato.
-
Tema: una raccolta di impostazioni che puoi applicare a più analisi e pannelli di controllo che modificano il modo in cui il contenuto viene visualizzato.
-
ThemeConfiguration: un oggetto di configurazione che contiene tutte le proprietà di visualizzazione di un tema.
-
Sovrascrittura del tema: un oggetto
ThemeConfigurationche viene applicato al tema attivo per sovrascrivere alcuni o tutti gli aspetti della visualizzazione del contenuto. -
ARN del tema: un nome della risorsa Amazon (ARN) che identifica un tema QuickSight. Di seguito è riportato un esempio di ARN del tema personalizzato.
arn:aws:quicksight:region:account-id:theme/theme-idI temi iniziali forniti da QuickSight non hanno una regione nell'ARN del tema. Di seguito è riportato un esempio di ARN del tema iniziale.
arn:aws:quicksight::aws:theme/CLASSIC
Configurazione
Assicurati di disporre delle informazioni seguenti per iniziare a lavorare con i temi del runtime.
-
Gli ARN dei temi che desideri utilizzare. Puoi scegliere un tema esistente oppure crearne uno nuovo. Per ottenere un elenco di tutti i temi e gli ARN dei temi presenti nel tuo account QuickSight, effettua una chiamata all'operazione API ListThemes. Per informazioni sui temi QuickSight preimpostati, consulta Impostazione di un tema predefinito per l'analisi di Amazon QuickSight con l'API QuickSight.
-
Se utilizzi l'incorporamento di utenti registrati, assicurati che l'utente abbia accesso ai temi che desideri utilizzare.
Se utilizzi l'incorporamento di utenti anonimi, passa un elenco di ARN dei temi al parametro
AuthorizedResourceArnsdell'APIGenerateEmbedUrlForAnonymousUser. Agli utenti anonimi viene concesso l'accesso a qualsiasi tema elencato nel parametroAuthorizedResourceArns.
Interfaccia del metodo SDK
Metodi setter
La tabella seguente descrive i diversi metodi setter che gli sviluppatori possono utilizzare per un tema del runtime.
| Metodo | Descrizione |
|---|---|
|
|
Sostituisce il tema attivo di un pannello di controllo o di un elemento visivo con un altro tema. Se applicato, la sovrascrittura del tema viene rimossa. Se non hai accesso al tema o se il tema non esiste, viene restituito un errore. |
|
|
Imposta un Se il |
Inizializzazione del contenuto incorporato con un tema
Per inizializzare un pannello di controllo o un elemento visivo incorporato con un tema non predefinito, definisci un oggetto themeOptions nei parametri DashboardContentOptions o VisualContentOptions e imposta la proprietà themeArn all'interno di themeOptions sull'ARN del tema desiderato.
L'esempio seguente inizializza un pannello di controllo incorporato con il tema MIDNIGHT.
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);
Inizializzazione del contenuto incorporato con la sovrascrittura di un tema
Gli sviluppatori possono utilizzare le sovrascritture dei temi per definire il tema di un pannello di controllo o di un elemento visivo incorporato durante il runtime. Ciò consente al pannello di controllo o all'elemento visivo di ereditare un tema da un'applicazione di terze parti senza la necessità di preconfigurare un tema in QuickSight. Per inizializzare un pannello di controllo o un elemento visivo incorporato con una sovrascrittura del tema, imposta la proprietà themeOverride all'interno di themeOptions sui parametri DashboardContentOptions o VisualContentOptions. L'esempio seguente sostituisce il carattere del tema di un pannello di controllo dal carattere predefinito su Amazon Ember.
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);
Inizializzazione del contenuto incorporato con temi precaricati
Gli sviluppatori possono configurare un set di temi del pannello di controllo da precaricare al momento dell'inizializzazione. Ciò è particolarmente utile per passare rapidamente da una visualizzazione all'altra, ad esempio tra le modalità chiaro e scuro. È possibile inizializzare un pannello di controllo o un elemento visivo incorporato con un massimo di cinque temi precaricati. Per utilizzare temi precaricati, imposta la proprietà preloadThemes in DashboardContentOptions o VisualContentOptions con un array di massimo cinque themeArns. L'esempio seguente precarica i temi iniziali Midnight e Rainier in un pannello di controllo.
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);