

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Personalize a aparência dos painéis e recursos visuais incorporados do Amazon Quick Sight
<a name="embedding-runtime-theming"></a>

Você pode usar o Amazon Quick Sight Embedding SDK (versão 2.5.0 e superior) para fazer alterações no tema de seus painéis e imagens incorporados do Amazon Quick Sight em tempo de execução. A temática de tempo de execução facilita a integração de seu aplicativo de software como serviço (SaaS) com seus ativos incorporados do Amazon Quick Sight. A temática em tempo de execução permite que você sincronize o tema do seu conteúdo incorporado com os temas do aplicativo principal ao qual seus ativos do Amazon Quick Sight estão incorporados. Além disso, é possível usar o tema do runtime para adicionar opções de personalização para leitores. As alterações de tema podem ser aplicadas a ativos incorporados na inicialização ou durante toda a vida útil do painel ou do elemento visual incorporado.

Para obter mais informações sobre os temas, consulte [Usando temas no Amazon Quick Sight](themes-in-quicksight.md). Para obter mais informações sobre o uso do Amazon Quick Sight Embedding SDK, consulte o [amazon-quicksight-embedding-sdk](https://github.com/awslabs/amazon-quicksight-embedding-sdk)on. GitHub

**Pré-requisitos**

Antes de começar a usar, certifique-se de cumprir os pré-requisitos apresentados a seguir.
+ Você está usando o Amazon Quick Sight Embedding SDK versão 2.5.0 ou superior.
+ Você deve ter permissões para acessar o tema com o qual deseja trabalhar. Para conceder permissões a um tema no Amazon Quick Sight, faça uma chamada de `UpdateThemePermissions` API ou use o ícone **Compartilhar** ao lado do tema no editor de análise do console Amazon Quick Sight.

## Terminologia e conceitos
<a name="runtime-theming-terminology"></a>

A terminologia apresentada a seguir pode ser útil ao trabalhar com temas de runtime incorporados.
+ *Tema*: uma coleção de configurações que você pode aplicar a várias análises e painéis que alteram a forma como o conteúdo é exibido.
+ *ThemeConfiguration*— Um objeto de configuração que contém todas as propriedades de exibição de um tema.
+ *Substituição de tema*: um objeto `ThemeConfiguration` que é aplicado ao tema ativo para substituir alguns ou todos os aspectos de como o conteúdo é exibido.
+ *ARN do tema — Um* nome de recurso da Amazon (ARN) que identifica um tema do Amazon Quick Sight. A seguir, apresentamos um exemplo de ARN para um tema personalizado.

  `arn:aws:quicksight:region:account-id:theme/theme-id`

  O Amazon Quick Sight forneceu que os temas iniciais não tenham uma região no ARN do tema. A seguir, apresentamos um exemplo de um ARN para um tema padrão.

  `arn:aws:quicksight::aws:theme/CLASSIC`

## Configurar
<a name="runtime-theming-setup"></a>

Certifique-se de ter as informações apresentadas a seguir disponíveis para começar a trabalhar com temas de runtime.
+ O tema ARNs dos temas que você deseja usar. É possível escolher um tema existente ou criar um novo. Para obter uma lista de todos os temas e temas ARNs em sua conta Amazon Quick Sight, faça uma chamada para a operação da [ListThemes](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListThemes.html)API. Para obter informações sobre temas predefinidos do Amazon Quick Sight, consulte[Definindo um tema padrão para análises do Amazon Quick com o Amazon Quick APIs](customizing-quicksight-default-theme.md).
+ Se você estiver usando a incorporação para usuários registrados, certifique-se de que o usuário tenha acesso aos temas que deseja usar.

  Se você estiver usando a incorporação de usuários anônimos, passe uma lista de temas ARNs para o `AuthorizedResourceArns` parâmetro da `GenerateEmbedUrlForAnonymousUser` API. Os usuários anônimos terão acesso a qualquer tema que esteja listado no parâmetro `AuthorizedResourceArns`.

## Interface para métodos do SDK
<a name="runtime-theming-sdk-interface"></a>

**Métodos “setter”**

A tabela apresentada a seguir descreve diferentes métodos “setter” que os desenvolvedores podem usar para os temas de runtime.


| Método | Description | 
| --- | --- | 
|  `setTheme(themeArn: string)`  |  Substitui o tema ativo de um painel ou de um elemento visual por outro tema. Se aplicado, a substituição do tema será removida. Um erro será retornado se você não tiver acesso ao tema ou se o tema não existir.  | 
|  `setThemeOverride(themeOverride: ThemeConfiguration)`  |  Define uma `ThemeConfiguration` dinâmica para substituir o tema ativo atual. Isso substitui a substituição do tema definida anteriormente. Quaisquer valores que não são fornecidos na nova `ThemeConfiguration` serão padronizados para os valores do tema ativo no momento. Um erro será retornado se a `ThemeConfiguration` fornecida for inválida.  | 

## Inicialização de conteúdo incorporado com um tema
<a name="runtime-theming-sdk-initialize"></a>

Para inicializar um painel ou um elemento visual incorporado com um tema que não corresponde ao padrão, defina um objeto `themeOptions` nos parâmetros `DashboardContentOptions` ou `VisualContentOptions`, e configure a propriedade `themeArn` em `themeOptions` com o ARN do tema desejado.

O exemplo apresentado a seguir inicializa um painel incorporado com o 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);
```

## Inicialização de conteúdo incorporado com uma substituição de tema
<a name="runtime-theming-runtime-initialize-override"></a>

Os desenvolvedores podem usar substituições de tema para definir o tema de um painel ou de um elemento visual incorporado durante o runtime. Isso permite que o painel ou o visual herde um tema de um aplicativo de terceiros sem a necessidade de pré-configurar um tema no Amazon Quick Sight. Para inicializar um painel ou um elemento visual incorporado com uma substituição de tema, defina a propriedade `themeOverride` em `themeOptions` nos parâmetros `DashboardContentOptions` ou `VisualContentOptions`. O exemplo apresentado a seguir substitui a fonte do tema de um painel, alterando da fonte padrão para `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);
```

## Inicialização de conteúdo incorporado com temas carregados previamente
<a name="runtime-theming-runtime-initialize-preloaded"></a>

Os desenvolvedores podem configurar um conjunto de temas de painel para serem carregados previamente na inicialização. Isso é especialmente útil para alternar rapidamente entre diferentes modos de visualização, como os modos escuro e claro. Um painel ou um elemento visual incorporado pode ser inicializado com até cinco temas carregados previamente. Para usar temas carregados previamente, defina a propriedade `preloadThemes` em `DashboardContentOptions` ou em `VisualContentOptions` com uma matriz que contém até cinco `themeArns`. O exemplo apresentado a seguir carrega previamente os temas padrão `Midnight` e `Rainier` para um painel.

```
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);
```