SQL-запрос в Python для притока по теме - PullRequest
0 голосов
/ 21 мая 2019

Я хочу получить данные, отправленные в mqtt по теме, я также использую InfluxDB Telegraf и Chronograf для отображения графиков этих значений.Однако я хотел бы получить эти значения в соответствии с темой с помощью программы на Python и SQL.

Я начал с некоторого кода, но не могу определить нужную тему.Я использую этот SQL-запрос: «SELECT% s из% s ORDER по времени DESC LIMIT 1», чтобы получить последнее значение, однако оно не зависит от темы ....

SQL-запрос к Chronograf, который зависитпо теме: ВЫБРАТЬ среднее ("I") AS "mean_I" ОТ "michelin". "autogen". "mqtt_consumer" WHERE time>: dashboardTime: AND "topic" = 'PI1' GROUP BY time (: интервал :)FILL (null)

Итак, я хотел бы получить в соответствии с темой PI1, но как я реализовал это в своем запросе SQL, я попытался добавить: AND topic = 'PI1', но это не работает.Если есть кто-нибудь, кто может мне помочь.Спасибо за ваш отзыв.


def run(element):

    """Instantiate a connection to the InfluxDB."""
    host='localhost'
    port=8086
    dbname = 'michelin'
    measurement = "michelin.autogen.mqtt_consumer"
    device = element
    user=""
    password=""
    results = read_energy_data(dbname,measurement,device)
    return(results)

def read_energy_data(db, measurement, device):
        client = InfluxDBClient(host='localhost', port='8086')
        client.switch_database(db)
        results = client.query(("SELECT %s from %s ORDER by time DESC LIMIT 1 ") % (device, measurement))
        points = results.get_points()
        for item in points:
            return item[device]

...