

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo della fonte di dati Amazon Redshift


## Policy IAM


 Grafana necessita delle autorizzazioni concesse tramite IAM per poter leggere le metriche di Redshift. Puoi associare queste autorizzazioni ai ruoli IAM e utilizzare il supporto integrato di Grafana per l'assunzione dei ruoli. La policy di accesso integrata di Amazon Grafana Redshift è definita nella sezione. [AWS politica gestita: AmazonGrafanaRedshiftAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonGrafanaRedshiftAccess) 

## Interroga i dati di Amazon Redshift


 L'origine dati Amazon Redshift fornisce un editor di query SQL standard. Amazon Managed Grafana include alcune macro per facilitare la scrittura di query su serie temporali più complesse. 

Macro


|  Macro  |  Description  |  Esempio di output  | 
| --- | --- | --- | 
|  \$1\$1\$1timeEpoch(column)  |  \$1\$1\$1timeEpochverrà sostituita da un'espressione da convertire in un timestamp UNIX e rinominare la colonna in ora  |  UNIX\$1TIMESTAMP(dateColumn) as "time"  | 
|  \$1\$1\$1timeFilter(column)  |  \$1\$1\$1timeFiltercrea un condizionale che filtra i dati (utilizzandocolumn) in base all'intervallo di tempo del pannello  |  time BETWEEN '2017-07-18T11:15:52Z' AND '2017-07-18T11:15:52Z'  | 
|  \$1\$1\$1timeFrom()  |  \$1\$1\$1timeFromrestituisce l'ora di inizio corrente dell'intervallo del pannello con virgolette  | '2017-07-18T11:15:52Z' | 
|  \$1\$1\$1timeTo()  |  \$1\$1\$1timeTorestituisce l'ora di fine corrente dell'intervallo del pannello tra virgolette  | '2017-07-18T11:15:52Z' | 
|  \$1\$1\$1timeGroup(column, '1m')  |  \$1\$1\$1timeGroupraggruppa i timestamp in modo che ci sia solo 1 punto per ogni periodo del grafico  | floor(extract(epoch from time)/60)\$160 AS "time" | 
|  \$1\$1\$1schema  |  \$1\$1\$1schema utilizza lo schema selezionato  | public | 
|  \$1\$1\$1table  |   \$1\$1\$1tablerestituisce una tabella da quella data \$1\$1\$1schema (utilizza lo schema pubblico per impostazione predefinita)  | sales | 
|  \$1\$1\$1column  |  \$1\$1\$1columnemette una colonna dalla corrente \$1\$1\$1table  | date  | 
|  \$1\$1\$1unixEpochFilter(column)  |  \$1\$1\$1unixEpochFilteressere sostituito da un filtro per intervallo di tempo che utilizza il nome della colonna specificato con i tempi rappresentati come timestamp Unix  |   column >= 1624406400 AND column <= 1624410000  | 
|  \$1\$1\$1unixEpochGroup(column)  |  \$1\$1\$1unixEpochGroupè lo stesso \$1\$1\$1timeGroup ma per gli orari memorizzati come timestamp Unix  | floor(time/60)\$160 AS "time" | 

**Visualizzazione**

La maggior parte delle query in Redshift è rappresentata al meglio da una visualizzazione tabellare. Qualsiasi query mostrerà i dati in una tabella. Se può essere interrogata, può essere inserita in una tabella. 

Questo esempio restituisce i risultati per la visualizzazione di una tabella: 

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

**Serie temporali e visualizzazioni grafiche**

Per le visualizzazioni di serie temporali e grafici, ci sono alcuni requisiti: 
+ È necessario selezionare una colonna con un `date` o un `datetime` tipo.
+ La `date` colonna deve essere in ordine crescente (utilizzando`ORDER BY column ASC`).
+ È necessario selezionare una colonna numerica.

Per creare un grafico più ragionevole, assicurati di utilizzare le `$__timeGroup` macro `$__timeFilter` and.

**Esempio di interrogazione sulla serie temporale:**

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

**Modalità di riempimento**

Grafana completa automaticamente anche i frame senza un valore con alcuni valori predefiniti. Per configurare questo valore, modifica il valore di **riempimento nell'editor** di query. 

**Ispezione della query**

Poiché Grafana supporta macro che Redshift non supporta, la query completamente renderizzata, che può essere copiata e incollata direttamente in Redshift, è visibile in Query Inspector. **Per visualizzare l'interrogazione interpolata completa, scegliete il menu Query **Inspector** e l'interrogazione completa sarà visibile nella scheda Query.**

## Modelli e variabili


Per ulteriori informazioni su come aggiungere una nuova variabile di query Redshift, vedere. [Aggiungere una variabile di query](variables-types.md#add-a-query-variable) Usa la fonte dati Redshift come fonte di dati per le query disponibili.

Qualsiasi valore richiesto da una tabella Amazon Redshift può essere utilizzato come variabile. Assicurati di evitare di selezionare troppi valori, poiché ciò può causare problemi di prestazioni. 

Dopo aver creato una variabile, puoi usarla nelle tue query Redshift utilizzando. [Sintassi variabile](templates-and-variables.md#variable-syntax) Per ulteriori informazioni sulle variabili, consulta. [Modelli e variabili](templates-and-variables.md)

## Annotazioni


[Annotazioni](dashboard-annotations.md)consente di sovrapporre informazioni dettagliate sugli eventi sopra i grafici. **È possibile aggiungere annotazioni selezionando il pannello o aggiungendo interrogazioni di annotazione utilizzando la vista **Annotazioni, aperta dal menu** Dashboard.** 

Query di esempio per aggiungere automaticamente annotazioni:

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

La tabella seguente rappresenta i valori delle colonne prese in considerazione per il rendering delle annotazioni:


|  Nome  |  Description  | 
| --- | --- | 
|  Time  |  Il nome del campo di data o ora. Potrebbe essere una colonna con un tipo di dati SQL nativo di data o ora o un valore epocale.  | 
|  Timeend  |  Nome opzionale del campo della data o dell'ora di fine. Potrebbe essere una colonna con un tipo di dati di data o ora SQL nativo o un valore epocale.  | 
|  Text  |  Campo di descrizione dell'evento.  | 
|  Tags  |  Nome di campo opzionale da utilizzare per i tag degli eventi come stringa separata da virgole.  | 