#python #influxdb
Вопрос:
Когда я использую константу для записи в базу данных influxdb, она каким-то образом выходит из строя.Точно такой же код со строкой работает нормально.
Приведенный ниже код работает:
def influx_write_dict(data_dict, database_name):
client = InfluxDBClient(host='149.212.118.123', port=8086, username="InfluxDB", password="password")
client.switch_database(database_name)
print("Return code for influx write:", client.write_points([data_dict]))
Но если я затем попытаюсь сделать то же самое с константой для адреса хоста и порта. Я получаю кучу ошибок подключения, в основном говорящих о том, что я не могу подключиться к хосту. Чтение прекрасно работает в обоих случаях, но запись просто приводит к целой странице ошибок.
Так что это не работает:
HOST_ADDRESS = '149.212.118.123'
PORT = 8086
def influx_write_dict(data_dict, database_name):
client = InfluxDBClient(host='HOST_ADDRESS', port=PORT, username="InfluxDB", password="password")
client.switch_database(database_name)
print("Return code for influx write:", client.write_points([data_dict]))
Может ли кто-нибудь объяснить, чем передача константы отличается от передачи строки?
Комментарии:
1. Оба фрагмента кода приводят к одному и тому же вызову. Вам следует искать источник ваших проблем в другом месте.
2. Да, вы правы. Спасибо, чувак. Я смотрел на это в течение нескольких часов. Спасибо, что подтвердили, что я не сумасшедший. Это на самом деле привело меня к решению довольно быстро. Я передал «HOST_ADDRESS», а не HOST_ADDRESS, что превратило его в строку. ТАЙ!
Ответ №1:
Моя ошибка была в другом. Эти вызовы идентичны, и использование константы, очевидно, является правильным способом сделать это. Моя ошибка заключалась в том, что я передал свою константу в кавычках в своем исходном коде.