

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á.

# Usar a fonte de dados Amazon Redshift
<a name="Redshift-using-the-data-source"></a>

## Políticas do IAM
<a name="Redshift-policies"></a>

 O Grafana precisa de permissões concedidas por meio do IAM para poder ler as métricas do Redshift. Você pode anexar essas permissões aos perfis do IAM e usar o suporte integrado do Grafana para assumir perfis. A política de acesso integrada do Amazon Grafana Redshift é definida na seção [AWS política gerenciada: AmazonGrafanaRedshiftAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonGrafanaRedshiftAccess). 

## Consultar dados no Amazon Redshift
<a name="Redshift-query"></a>

 A fonte de dados Amazon Redshift fornece um editor de consultas SQL padrão. O Amazon Managed Grafana inclui alguns macros para ajudar a escrever consultas de séries temporais mais complexas. 

Macros


|  Macro  |  Description  |  Exemplo de saída  | 
| --- | --- | --- | 
|  \$1\$1\$1timeEpoch(column)  |  \$1\$1\$1timeEpoch será substituído por uma expressão para converter em um carimbo de data e hora do Unix e renomear a coluna para tempo  |  UNIX\$1TIMESTAMP(dateColumn) as "time"  | 
|  \$1\$1\$1timeFilter(column)  |  \$1\$1\$1timeFilter cria uma condicional que filtra os dados (usando column) com base no intervalo de tempo do painel  |  time BETWEEN '2017-07-18T11:15:52Z' AND '2017-07-18T11:15:52Z'  | 
|  \$1\$1\$1timeFrom()  |  \$1\$1\$1timeFrom exibe a hora de início atual do intervalo do painel com aspas  | '2017-07-18T11:15:52Z' | 
|  \$1\$1\$1timeTo()  |  \$1\$1\$1timeTo exibe a hora de término atual do intervalo do painel com aspas  | '2017-07-18T11:15:52Z' | 
|  \$1\$1\$1timeGroup(column, '1m')  |  \$1\$1\$1timeGroup agrupa carimbos de data e hora para que haja apenas um ponto para cada período no grafo  | floor(extract(epoch from time)/60)\$160 AS "time" | 
|  \$1\$1\$1schema  |  \$1\$1\$1schema  usa o esquema selecionado  | public | 
|  \$1\$1\$1table  |   \$1\$1\$1table exibe uma tabela do \$1\$1\$1schema fornecido (ele usa o esquema público por padrão)  | sales | 
|  \$1\$1\$1column  |  \$1\$1\$1column exibe uma coluna da \$1\$1\$1table atual  | date  | 
|  \$1\$1\$1unixEpochFilter(column)  |  \$1\$1\$1unixEpochFilter será substituído por um filtro de intervalo de tempo usando o nome da coluna especificada com os tempos representados como carimbo de data e hora do Unix  |   column >= 1624406400 AND column <= 1624410000  | 
|  \$1\$1\$1unixEpochGroup(column)  |  \$1\$1\$1unixEpochGroup é o mesmo que \$1\$1\$1timeGroup, mas para tempos armazenados como carimbo de data e hora do Unix  | floor(time/60)\$160 AS "time" | 

**Visualização**

A maioria das consultas no Redshift é melhor representada por uma visualização de tabela. Qualquer consulta exibirá dados em uma tabela. Se pode ser consultado, então pode ser colocado em uma tabela. 

Este exemplo retorna os resultados de uma visualização de tabela: 

```
SELECT {column_1}, {column_2} FROM {table};
```

**Visualizações de séries temporais e grafos**

Para visualizações de séries temporais e grafos, existem alguns requisitos: 
+ Uma coluna com uma `date` ou um tipo de `datetime` deve ser selecionada.
+ A coluna `date` deve estar em ordem crescente (usando `ORDER BY column ASC`).
+ Você deve selecionar uma coluna numérica.

Para criar um grafo mais razoável, certifique-se de usar os macros `$__timeFilter` e `$__timeGroup`.

**Exemplo de consulta de série temporal:**

```
SELECT
  avg(execution_time) AS average_execution_time,
  $__timeGroup(start_time, 'hour'),
  query_type
FROM
  account_usage.query_history
WHERE
  $__timeFilter(start_time)
group by
  query_type,start_time
order by
  start_time,query_type ASC;
```

**Modo de preenchimento**

O Grafana também preenche automaticamente quadros sem um valor com algum padrão. Para configurar esse valor, altere o **Valor de preenchimento** no editor de consultas. 

**Inspecionar a consulta**

Como o Grafana é compatível com macros que o Redshift não é, a consulta totalmente renderizada, que pode ser copiada e colada diretamente no Redshift, fica visível no Inspetor de consultas. Para visualizar a consulta interpolada completa, escolha o menu **Inspetor de consultas** e a consulta completa estará visível na guia **Consulta**.

## Modelos e variáveis
<a name="using-redshift-templates-variables"></a>

Para obter mais informações sobre como adicionar uma nova variável de consulta do Redshift, consulte [Adicionar uma variável de consulta.](variables-types.md#add-a-query-variable). Use a fonte de dados Redshift como fonte de dados para as consultas disponíveis.

Qualquer valor consultado em uma tabela do Amazon Redshift pode ser usado como uma variável. Evite selecionar muitos valores, pois isso pode causar problemas de performance. 

Depois de criar uma variável, você poderá usá-la em suas consultas do Redshift usando [Sintaxe da variável](templates-and-variables.md#variable-syntax). Para obter mais informações sobre variáveis, consulte [Modelos e variáveis](templates-and-variables.md).

## Anotações
<a name="using-redshift-annotations"></a>

As [Anotações](dashboard-annotations.md) permitem que você sobreponha informações importantes de eventos nos grafos. Você pode adicionar anotações selecionando o painel ou adicionando consultas de anotações usando a visualização **Anotações**, aberta no menu **Dashboard**. 

Exemplo de consulta para adicionar anotações automaticamente:

```
SELECT
  time as time,
  environment as tags,
  humidity as text
FROM
  $__table
WHERE
  $__timeFilter(time) and humidity > 95
```

A tabela a seguir representa os valores das colunas consideradas para renderizar anotações:


|  Name (Nome)  |  Description  | 
| --- | --- | 
|  Time  |  O nome do campo de data e hora. Pode ser uma coluna com uma data SQL nativa, um tipo de dados de hora ou um valor epoch.  | 
|  Timeend  |  Nome opcional do campo de data ou hora de término. Pode ser uma coluna com uma data SQL nativa, um tipo de dados de hora ou um valor epoch.  | 
|  Text  |  Campo de descrição do evento.  | 
|  Tags  |  Nome de campo opcional a ser usado para tags de eventos como uma string separada por vírgula.  | 