

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Uso del origen de datos de Amazon Redshift
<a name="Redshift-using-the-data-source"></a>

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

 Grafana necesita permisos concedidos mediante IAM para poder leer las métricas de Redshift. Puede adjuntar estos permisos a los roles de IAM y usar la compatibilidad integrada de Grafana para asumir roles. La política de acceso integrada a Amazon Grafana Redshift se define en la sección [AWS política gestionada: AmazonGrafanaRedshiftAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonGrafanaRedshiftAccess). 

## Consulta de datos de Amazon Redshift
<a name="Redshift-query"></a>

 El origen de datos de Amazon Redshift proporciona un editor de consultas SQL estándar. Amazon Managed Grafana incluye algunas macros para ayudar a escribir consultas de series temporales más complejas. 

Macros


|  Macro  |  Description (Descripción)  |  Ejemplo de resultados  | 
| --- | --- | --- | 
|  \$1\$1\$1timeEpoch(column)  |  \$1\$1\$1timeEpoch se sustituirá por una expresión para convertirla en una marca de tiempo UNIX y cambiar el nombre de la columna a time.  |  UNIX\$1TIMESTAMP(dateColumn) as "time"  | 
|  \$1\$1\$1timeFilter(column)  |  \$1\$1\$1timeFilter crea un condicional que filtra los datos (utilizando column) en función del intervalo de tiempo del panel.  |  time BETWEEN '2017-07-18T11:15:52Z' AND '2017-07-18T11:15:52Z'  | 
|  \$1\$1\$1timeFrom()  |  \$1\$1\$1timeFrom muestra la hora de inicio actual del intervalo del panel con comillas.  | '2017-07-18T11:15:52Z' | 
|  \$1\$1\$1timeTo()  |  \$1\$1\$1timeTo muestra la hora de finalización actual del intervalo del panel con comillas.  | '2017-07-18T11:15:52Z' | 
|  \$1\$1\$1timeGroup(column, '1m')  |  \$1\$1\$1timeGroup agrupa las marcas de tiempo de modo que solo haya 1 punto por cada periodo del gráfico.  | floor(extract(epoch from time)/60)\$160 AS "time" | 
|  \$1\$1\$1schema  |  \$1\$1\$1schema  usa el esquema seleccionado.  | public | 
|  \$1\$1\$1table  |   \$1\$1\$1table genera una tabla a partir del valor de \$1\$1\$1schema proporcionado (usa el esquema público de forma predeterminada).  | sales | 
|  \$1\$1\$1column  |  \$1\$1\$1column genera una columna a partir del valor de \$1\$1\$1table actual.  | date  | 
|  \$1\$1\$1unixEpochFilter(column)  |  \$1\$1\$1unixEpochFilter se sustituirá por un filtro de intervalo de tiempo con el nombre de columna especificado con las horas representadas como marca de tiempo Unix.  |   column >= 1624406400 AND column <= 1624410000  | 
|  \$1\$1\$1unixEpochGroup(column)  |  \$1\$1\$1unixEpochGroup coincide con \$1\$1\$1timeGroup pero para las horas almacenadas como marca de tiempo Unix.  | floor(time/60)\$160 AS "time" | 

**Visualización**

La mayoría de las consultas en Redshift se representarán mejor mediante una visualización de tabla. En cualquier consulta, se mostrarán los datos de una tabla. Si se puede consultar, se puede colocar en una tabla. 

Este ejemplo devuelve los resultados de una visualización de tabla: 

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

**Visualizaciones de series temporales y gráficos**

Para las visualizaciones de series temporales y gráficos, existen algunos requisitos: 
+ Debe seleccionarse una columna con un tipo de `date` o `datetime`.
+ La columna `date` debe estar en orden ascendente (utilizando `ORDER BY column ASC`).
+ Debe seleccionar una columna numérica.

Para crear un gráfico más razonable, asegúrese de utilizar las macros `$__timeFilter` y `$__timeGroup`.

**Ejemplo de consulta de series temporales:**

```
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 relleno**

Grafana también completa automáticamente los marcos sin un valor con algunos valores predeterminados. Para configurar este valor, cambie el **valor de relleno** en el editor de consultas. 

**Inspección de la consulta**

Como Grafana admite macros que Redshift no admite, la consulta completamente renderizada, que se puede copiar y pegar directamente en Redshift, está visible en el inspector de consultas. Para ver la consulta interpolada completa, seleccione el menú **Inspector de consultas** y la consulta completa estará visible en la pestaña **Consulta**.

## Plantillas y variables
<a name="using-redshift-templates-variables"></a>

Para obtener más información acerca de cómo agregar una nueva variable de consulta de Redshift, consulte [Adición de una variable de consulta](variables-types.md#add-a-query-variable). Utilice su origen de datos de Redshift como origen de datos para las consultas disponibles.

Cualquier valor consultado en una tabla de Amazon Redshift se puede utilizar como variable. Asegúrese de no seleccionar demasiados valores, ya que esto puede provocar problemas de rendimiento. 

Después de crear una variable, puede usarla en sus consultas de Redshift mediante [Sintaxis de variable](templates-and-variables.md#variable-syntax). Para obtener más información acerca de las variables, consulte [Plantillas y variables](templates-and-variables.md).

## Anotaciones
<a name="using-redshift-annotations"></a>

[Anotaciones](dashboard-annotations.md) permite superponer información detallada sobre los eventos en la parte superior de los gráficos. Puede agregar anotaciones seleccionando el panel o agregando consultas de anotación mediante la vista **Anotaciones** abierta desde el menú **Panel**. 

Ejemplo de consulta para agregar anotaciones automáticamente:

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

En la siguiente tabla, se representan los valores de las columnas que se tienen en cuenta para representar las anotaciones:


|  Name  |  Description (Descripción)  | 
| --- | --- | 
|  Time  |  Nombre del campo de fecha o de hora. Puede ser una columna con un tipo de datos de fecha u hora nativo de SQL o un valor de época.  | 
|  Timeend  |  Nombre opcional del campo de fecha u hora de fin. Puede ser una columna con un tipo de datos de fecha u hora nativo de SQL o un valor de época.  | 
|  Text  |  Campo de descripción del evento.  | 
|  Tags  |  Nombre de campo opcional para utilizar en las etiquetas de eventos como una cadena separada por comas.  | 