python中的sql查询到主题为

时间:2019-05-21 09:28:26

标签: python sql influxdb chronograf

我想检索有关某个主题的mqtt中发送的数据,我也使用influxdb telegraf和chronograf显示这些值的图形。但是我想根据主题使用python程序和SQL检索这些值。

我从一些代码开始,但是我无法定义所需的主题。 我使用以下SQL查询:“按时间DESC LIMIT 1从%s ORDER中选择%s”来获取最后一个值,但是它不取决于主题。...

取决于主题的Chronograf上的SQL查询是: SELECT mean(“ I”)AS“ mean_I”来自“ michelin”。“ autogen”。“ mqtt_consumer” WHERE time>:dashboardTime:AND“ topic” ='PI1'GROUP BY time(:interval :) FILL(null)< / p>

所以我想根据主题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]

0 个答案:

没有答案