

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

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

 Grafana a besoin d'autorisations accordées via IAM pour pouvoir lire les métriques Redshift. Vous pouvez associer ces autorisations aux rôles IAM et utiliser le support intégré de Grafana pour assumer des rôles. La politique d'accès intégrée à Amazon Grafana Redshift est définie dans cette section. [AWS politique gérée : AmazonGrafanaRedshiftAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonGrafanaRedshiftAccess) 

## Interrogez les données Amazon Redshift
<a name="Redshift-query"></a>

 La source de données Amazon Redshift 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 de sortie  | 
| --- | --- | --- | 
|  \$1\$1\$1timeEpoch(column)  |  \$1\$1\$1timeEpochsera remplacée par une expression à convertir en horodatage UNIX et à renommer la colonne en fonction de l'heure  |  UNIX\$1TIMESTAMP(dateColumn) as "time"  | 
|  \$1\$1\$1timeFilter(column)  |  \$1\$1\$1timeFiltercrée un conditionnel qui filtre les données (en utilisantcolumn) en fonction de la plage de temps du panneau  |  time BETWEEN '2017-07-18T11:15:52Z' AND '2017-07-18T11:15:52Z'  | 
|  \$1\$1\$1timeFrom()  |  \$1\$1\$1timeFromaffiche l'heure de début actuelle de la plage du panneau entre guillemets  | '2017-07-18T11:15:52Z' | 
|  \$1\$1\$1timeTo()  |  \$1\$1\$1timeToaffiche l'heure de fin actuelle de la plage du panneau entre guillemets  | '2017-07-18T11:15:52Z' | 
|  \$1\$1\$1timeGroup(column, '1m')  |  \$1\$1\$1timeGroupregroupe les horodatages de manière à ce qu'il n'y ait qu'un point pour chaque période du graphique  | floor(extract(epoch from time)/60)\$160 AS "time" | 
|  \$1\$1\$1schema  |  \$1\$1\$1schema utilise le schéma sélectionné  | public | 
|  \$1\$1\$1table  |   \$1\$1\$1tablegénère une table à partir de la donnée \$1\$1\$1schema (elle utilise le schéma public par défaut)  | sales | 
|  \$1\$1\$1column  |  \$1\$1\$1columnaffiche une colonne à partir du courant \$1\$1\$1table  | date  | 
|  \$1\$1\$1unixEpochFilter(column)  |  \$1\$1\$1unixEpochFilterêtre remplacé par un filtre de plage horaire utilisant le nom de colonne spécifié, les heures étant représentées par un horodatage Unix  |   column >= 1624406400 AND column <= 1624410000  | 
|  \$1\$1\$1unixEpochGroup(column)  |  \$1\$1\$1unixEpochGroupest le même que \$1\$1\$1timeGroup pour les heures stockées sous forme d'horodatage Unix  | floor(time/60)\$160 AS "time" | 

**Visualisation**

La plupart des requêtes dans Redshift sont mieux représentées par une visualisation de table. Toute requête affichera des données dans un tableau. S'il peut être interrogé, il peut être placé dans un tableau. 

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

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

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

Pour les visualisations de séries chronologiques et de graphiques, certaines exigences s'appliquent : 
+ Une colonne avec un `date` ou un `datetime` type doit être sélectionnée.
+ La `date` colonne doit être dans l'ordre croissant (utilisation`ORDER BY column ASC`).
+ Vous devez sélectionner une colonne numérique.

Pour créer un graphique plus raisonnable, veillez à utiliser les `$__timeGroup` macros `$__timeFilter` et.

**Exemple de requête de série chronologique :**

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

**Mode de remplissage**

Grafana complète également automatiquement les cadres sans valeur avec une valeur par défaut. Pour configurer cette valeur, modifiez la **valeur de remplissage** dans l'éditeur de requêtes. 

**Inspection de la requête**

Grafana prenant en charge les macros que Redshift ne prend pas en charge, la requête entièrement rendue, qui peut être copiée et collée directement dans Redshift, est visible dans le Query Inspector. Pour afficher la requête interpolée complète, choisissez le menu **Query Inspector**, et la requête complète est visible dans l'onglet **Query**.

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

Pour plus d'informations sur la façon d'ajouter une nouvelle variable de requête Redshift, consultez. [Ajouter une variable de requête](variables-types.md#add-a-query-variable) Utilisez votre source de données Redshift comme source de données pour les requêtes disponibles.

Toute valeur demandée à partir d'une table Amazon Redshift peut être utilisée comme variable. Veillez à ne pas 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 Redshift 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-redshift-annotations"></a>

[Annotations](dashboard-annotations.md)vous permet 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 **Annotations**, ouverte depuis le menu Tableau de **bord**. 

Exemple de requête pour ajouter automatiquement des annotations :

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

Le tableau suivant représente les valeurs des colonnes prises en compte pour le rendu des annotations :


|  Nom  |  Description  | 
| --- | --- | 
|  Time  |  Nom du champ de date ou d'heure. Il peut s'agir d'une colonne avec un type de données SQL natif de date ou d'heure ou une valeur d'époque.  | 
|  Timeend  |  Nom facultatif du champ de date ou d'heure de fin. Il peut s'agir d'une colonne avec un type de données SQL natif de date ou d'heure ou une valeur d'époque.  | 
|  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.  | 