# Ukázkové kódy

## Ukázka kódu pro připojení pomocí C sharp

Stáhneme nuget package pro práci s influxem: <https://www.nuget.org/packages/InfluxDB.Client/>

Po naimportování nuget knihovny do projektu se do databáze připojíme pomocí následujícího kódu:

```
var influxDBClient = InfluxDBClientFactory.Create(url, token);
```

* Url a token získáme pomocí kroků v připojení.

Pro dotazování do databáze se používá skriptovací jazyk [flux](https://docs.influxdata.com/influxdb/v2.0/query-data/get-started/).

Ukázka dotazu pro získání dat ohledně běžících sezení:

```
private static async Task<List<FluxTable>> GetFluxTables(int companyId, string measurement)
{
    var flux = "from(bucket:\"mluvii_realtime\") " +
               "|> range(start: -1h)" +
              $"|> filter(fn: (r) => r[\"_measurement\"] == \"{measurement}\")" +
               "|> pivot(rowKey:[\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")";
     return await influxDBClient.GetQueryApi().QueryAsync(flux, org: $"company_{companyId}");
}
```

* Bucket je vždycky stejný, tedy "mluvii\_realtime"
* CompanyId je id společnosti
* Measurement je kombinace jména metriky a suffixu v nastavení metrik v mluvii.&#x20;

{% hint style="info" %}
*Příklad: running\_sessions\_demo, kde "running\_sessions" je název metriky a "demo" je nastaveno v mluvii*
{% endhint %}

### Kam dál?

* [Zobrazení dat v Grafaně](https://docs.mluvii.com/pro-it-specialisty/realtime-statistiky/grafana)
