

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation de la source de données Athena
<a name="Athena-using-the-data-source"></a>

## politiques IAM
<a name="Athena-policies"></a>

 Grafana a besoin d'autorisations accordées via IAM pour pouvoir lire les métriques d'Athena. Vous pouvez associer ces autorisations aux rôles IAM et utiliser le support intégré de Grafana pour assumer des rôles. Notez que vous devrez [configurer la politique requise](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) pour votre rôle avant d'ajouter la source de données à Grafana. Vous aurez besoin d'un rôle d'administrateur ou d'éditeur pour ajouter une source de données. La politique d'accès intégrée à Amazon Grafana Athena est définie dans cette section. [AWS politique gérée : AmazonGrafanaAthenaAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonGrafanaAthenaAccess) 

## Interrogez les données d'Athéna
<a name="Athena-query"></a>

La source de données Athena fournit un éditeur de requêtes SQL standard. Amazon Managed Grafana inclut des macros pour vous aider à écrire des requêtes de séries chronologiques plus complexes. 

Macros


|  Macro  |  Description  |  Exemple  |  Exemple de sortie  | 
| --- | --- | --- | --- | 
|  \$1\$1\$1dateFilter(column)  |  \$1\$1\$1dateFiltercrée un filtre conditionnel qui sélectionne les données (en utilisantcolumn) en fonction de la plage de dates du panneau.  |  \$1\$1\$1date(my\$1date)  | my\$1date BETWEEN date '2017-07-18' AND date '2017-07-18' | 
|  \$1\$1\$1parseTime(column,format)  |  \$1\$1\$1parseTimeconvertit un varchar en horodatage avec le format donné.  |  \$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\$1timeFiltercrée un conditionnel qui filtre les données (en utilisantcolumn) en fonction de la plage de temps du panneau. Le deuxième argument est utilisé pour analyser éventuellement la colonne d'un varchar à un horodatage avec un format spécifique.  | \$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\$1timeFromaffiche l'heure de début actuelle de la plage du panneau entre guillemets.  | \$1\$1\$1timeFrom() | TIMESTAMP '2017-07-18 11:15:52' | 
|  \$1\$1\$1timeTo()  |  \$1\$1\$1timeTo affiche l'heure de fin actuelle de la plage du panneau entre guillemets.  | \$1\$1\$1timeTo() | TIMESTAMP '2017-07-18 11:15:52' | 
|  \$1\$1\$1timeGroup(column, '1m', format)  |  \$1\$1\$1timeGroup regroupe les horodatages de manière à ce qu'il n'y ait qu'un point pour chaque période du graphique. Le troisième argument est utilisé pour analyser éventuellement la colonne d'un varchar à un horodatage avec un format spécifique.  | \$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\$1tablerenvoie le tableau sélectionné dans le sélecteur de tableau.  | \$1\$1\$1table | my\$1table | 
|  \$1\$1\$1column  |  \$1\$1\$1columnrenvoie la colonne sélectionnée dans le sélecteur de colonnes (un tableau est requis).  | \$1\$1\$1column  | col1  | 

**Visualisation**

La plupart des requêtes dans Athena seront mieux représentées par une visualisation sous forme de table. Une requête affiche les données de retour dans une table. S'il peut être interrogé, il peut être affiché sous forme de tableau.

Cet exemple renvoie les résultats d'une visualisation de table : 

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

**Visualisations de séries chronologiques/graphiques**

Pour les séries chronologiques et les visualisations de graphes, vous devez : 
+ sélectionnez une colonne avec un `date` ou un `datetime` type. La `date` colonne doit être dans l'ordre croissant (utilisation`ORDER BY column ASC`).
+ sélectionnez également une colonne numérique.

**Inspection de la requête**

Amazon Managed Grafana prend en charge les macros qu'Athena ne prend pas en charge, ce qui signifie qu'une requête peut ne pas fonctionner si elle est copiée et collée directement dans Athena. Pour afficher la requête interpolée complète, qui fonctionne directement dans Athena, cliquez sur le bouton **Query Inspector**. La requête complète est affichée sous l'onglet **Requête**.

## Modèles et variables
<a name="using-Athena-templates-variables"></a>

Pour plus d'informations sur l'ajout d'une variable de requête Athena, consultez. [Ajouter une variable de requête](variables-types.md#add-a-query-variable) Utilisez votre source de données Athena comme source de données pour les requêtes disponibles.

Toute valeur interrogée à partir d'une table Athena peut être utilisée comme variable. Évitez de sélectionner trop de valeurs, car cela peut entraîner des problèmes de performances.

Après avoir créé une variable, vous pouvez l'utiliser dans vos requêtes Athena en utilisant. [Syntaxe variable](templates-and-variables.md#variable-syntax) Pour plus d'informations sur les variables, consultez[Modèles et variables](templates-and-variables.md).

## Annotations
<a name="using-Athena-annotations"></a>

[Annotations](dashboard-annotations.md)vous permettent de superposer des informations détaillées sur les événements au-dessus des graphiques. Vous pouvez ajouter des annotations en sélectionnant le panneau ou en ajoutant des requêtes d'annotation à l'aide de la vue des **annotations** du menu du tableau de **bord**. 

Exemple de requête pour ajouter automatiquement des annotations :

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

Le tableau suivant décrit les colonnes qui peuvent être utilisées pour afficher des annotations :


|  Nom  |  Description  | 
| --- | --- | 
|  Time  |  Le nom du date/time champ. Il peut s'agir d'une colonne avec un type de date/time données SQL natif ou une valeur d'époque.  | 
|  Timeend  |  Nom facultatif du date/time champ de fin. Il peut s'agir d'une colonne avec un type de date/time données SQL natif ou une valeur d'époque. (Grafana v6.6 et versions ultérieures)  | 
|  Text  |  Champ de description de l'événement.  | 
|  Tags  |  Nom de champ facultatif à utiliser pour les balises d'événements sous forme de chaîne séparée par des virgules.  | 

## Support des données de requêtes asynchrones
<a name="athena-async-query"></a>

Les requêtes Athena dans Amazon Managed Grafana sont traitées de manière asynchrone afin d'éviter les délais d'attente. Les requêtes asynchrones utilisent des requêtes distinctes pour démarrer la requête, puis vérifier sa progression et enfin récupérer les résultats. Cela permet d'éviter les délais d'attente pour les requêtes qui s'exécutent pendant une longue période.

## Réutilisation des résultats de requête
<a name="athena-query-reuse"></a>

Vous pouvez réutiliser les résultats des requêtes précédentes pour améliorer les performances des requêtes. Pour activer la réutilisation des requêtes, cette option se trouve dans la section **Réutilisation des résultats** de la requête de l'éditeur de requêtes. Cela doit être fait pour chaque requête que vous souhaitez réutiliser.

**Note**  
Cette fonctionnalité nécessite que votre instance Athena soit installée sur la version 3 du moteur. Pour plus d'informations, consultez la section [Modification des versions du moteur Athena](https://docs.aws.amazon.com/athena/latest/ug/engine-versions-changing.html) dans le guide de l'utilisateur *Amazon Athena*.