

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 Athena
<a name="Athena-using-the-data-source"></a>

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

 Grafana necesita permisos otorgados a través de IAM para poder leer las métricas de Athena. Puede adjuntar estos permisos a los roles de IAM y usar la compatibilidad integrada de Grafana para asumir roles. Tenga en cuenta que deberá [configurar la política requerida](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) para su rol antes de agregar el origen de datos a Grafana. Necesitará un rol de administrador o editor para agregar un origen de datos. La política de acceso integrada de Athena de Amazon Grafana se define en la sección [AWS política gestionada: AmazonGrafanaAthenaAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonGrafanaAthenaAccess). 

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

El origen de datos de Athena 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  |  Ejemplo de salida  | 
| --- | --- | --- | --- | 
|  \$1\$1\$1dateFilter(column)  |  \$1\$1\$1dateFilter crea un filtro condicional que selecciona los datos (utilizando column) en función del intervalo de fechas del panel.  |  \$1\$1\$1date(my\$1date)  | my\$1date BETWEEN date '2017-07-18' AND date '2017-07-18' | 
|  \$1\$1\$1parseTime(column,format)  |  \$1\$1\$1parseTime convierte un varchar en una marca de tiempo con el formato especificado.  |  \$1\$1\$1parseTime(eventtime, 'yyyy-MM-dd''T''HH:mm:ss''Z')  | parse\$1datetime(time,'yyyy-MM-dd''T''HH:mm:ss''Z') | 
|  \$1\$1\$1timeFilter(column,format)  |  \$1\$1\$1timeFilter crea un condicional que filtra los datos (utilizando column) en función del intervalo de tiempo del panel. El segundo argumento se usa para analizar opcionalmente la columna de un varchar a una marca de tiempo con un formato específico.  | \$1\$1\$1timeFilter(time, 'yyyy-MM-dd HH:mm:ss') | TIMESTAMP time BETWEEN TIMESTAMP '2017-07-18T11:15:52Z' AND TIMESTAMP '2017-07-18T11:15:52Z' | 
|  \$1\$1\$1timeFrom()  |  \$1\$1\$1timeFrom muestra la hora de inicio actual del intervalo del panel con comillas.  | \$1\$1\$1timeFrom() | TIMESTAMP '2017-07-18 11:15:52' | 
|  \$1\$1\$1timeTo()  |  \$1\$1\$1timeTo  muestra la hora de finalización actual del intervalo del panel con comillas.  | \$1\$1\$1timeTo() | TIMESTAMP '2017-07-18 11:15:52' | 
|  \$1\$1\$1timeGroup(column, '1m', format)  |  \$1\$1\$1timeGroup  agrupa las marcas de tiempo de modo que solo haya 1 punto por cada periodo del gráfico. El tercer argumento se usa para analizar opcionalmente la columna de un varchar a una marca de tiempo con un formato específico.  | \$1\$1\$1timeGroup(time,'5m','yyyy-MM-dd''T''HH:mm:ss.SSSSSS''Z') | FROM\$1UNIXTIME(FLOOR(TO\$1UNIXTIME(parse\$1datetime(time,'yyyy-MM-dd''T''HH:mm:ss.SSSSSS''Z'))/300)\$1300) | 
|  \$1\$1\$1table  |   \$1\$1\$1table devuelve la tabla seleccionada en el selector Tablas.  | \$1\$1\$1table | my\$1table | 
|  \$1\$1\$1column  |  \$1\$1\$1column devuelve la columna seleccionada en el selector Columnas (requiere una tabla).  | \$1\$1\$1column  | col1  | 

**Visualización**

La mayoría de las consultas en Athena se representarán mejor mediante una visualización de tabla. Una consulta muestra los datos devueltos en una tabla. Si se puede consultar, se puede mostrar como una tabla.

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

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

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

Para las visualizaciones de series temporales y gráficos, debe: 
+ Seleccionar una columna con un tipo `date` o `datetime`. La columna `date` debe estar en orden ascendente (utilizando `ORDER BY column ASC`).
+ Seleccione también una columna numérica.

**Inspección de la consulta**

Amazon Managed Grafana admite macros que Athena no, lo que significa que una consulta podría no funcionar si se copia y pega directamente en Athena. Para ver la consulta interpolada completa, que funciona directamente en Athena, haga clic en el botón **Inspector de consultas**. La consulta completa se muestra en la pestaña **Consulta**.

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

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

Cualquier valor consultado en una tabla de Athena se puede utilizar como variable. Evite seleccionar demasiados valores, ya que esto puede provocar problemas de rendimiento.

Después de crear una variable, puede usarla en sus consultas de Athena 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-Athena-annotations"></a>

Las [Anotaciones](dashboard-annotations.md) permiten superponer información detallada sobre los eventos encima de los gráficos. Puede agregar anotaciones seleccionando el panel o agregando consultas de anotación mediante la vista **Anotaciones** del menú **Panel**. 

Un ejemplo de consulta para agregar anotaciones automáticamente:

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

En la siguiente tabla se representan las descripciones de las columnas que se pueden utilizar para representar las anotaciones:


|  Name  |  Description (Descripción)  | 
| --- | --- | 
|  Time  |  El nombre del date/time campo. Puede ser una columna con un tipo de date/time datos SQL nativo o un valor de época.  | 
|  Timeend  |  Nombre opcional del date/time campo final. Podría ser una columna con un tipo de date/time datos SQL nativo o un valor de época. (Versión 6.6 y posteriores de Grafana)  | 
|  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.  | 

## Compatibilidad de datos de consulta asíncrona
<a name="athena-async-query"></a>

Las consultas de Athena en Amazon Managed Grafana se gestionan de forma asíncrona para evitar tiempos de espera. Las consultas asíncronas utilizan solicitudes independientes para iniciar la consulta, comprobar su progreso y, por último, obtener los resultados. Esto evita los tiempos de espera de las consultas que se ejecutan durante mucho tiempo.

## Reutilización de resultados de las consultas
<a name="athena-query-reuse"></a>

Puede reutilizar los resultados de las consultas anteriores para mejorar el rendimiento de las consultas. Para habilitar la reutilización de las consultas, habilítela en la sección **Reutilización de los resultados de las consultas** del editor de consultas. Esto debe hacerse para cada consulta que desee reutilizar.

**nota**  
Esta característica requiere que la instancia de Athena esté en la versión 3 del motor. Para obtener más información, consulte [Cambio de las versiones del motor Athena](https://docs.aws.amazon.com/athena/latest/ug/engine-versions-changing.html) en la *Guía del usuario de Amazon Athena*.