2015-02-20 2 views
0

Я изучаю KairosDB с бэкэндом Cassandra. И я наткнулся на следующий выпуске:сохранить тег в json формате в Kairosdb

Я пытаюсь сохранить показатели следующим образом:

available_methods = json.dumps(available_methods) 

    data = [] 
    for definition in archive_policy.definition: 
     data.append({'name': '%s-archives' % metric, 
        'timestamp': time.time(), 
        'value': archive_policy.back_window, 
        'tags': {'metric': self._to_hex(metric), 
           'timespan': float(definition.timespan), 
           'granularity_points': '%s_%s' % (
            float(definition.granularity), 
            definition.points), 
           'aggregation_methods': available_methods}}) 

И как результат, метрику не отвечало всем импорт, есть только имя в нем. Я попытался опубликовать метрику с 'aggregation_methods', равным строке и и работал.

Итак, вопрос: возможно ли сохранить формат dict или json в тегах?

Для записи я использую python client pyKairosDB.

ТНХ

ответ

0

фактически не все символы разрешены в метрических имен и ключей тегов/значений.

cf. http://kairosdb.github.io/kairosdocs/FAQ.html#why-can-tags-only-handle-ascii-characters-and

Это будет развиваться в будущих версиях, чтобы стать более разрешительными, но некоторый конкретный символ должен оставаться запрещенным - это столбец (:) и equals (=), поскольку они используются в качестве разделителя полей для построения ключа Cassandra Row из тегов и метрическое имя.

cf. http://kairosdb.github.io/kairosdocs/CassandraSchema.html

Могу ли я спросить вас, почему вам нужно поместить объект JSON в тег?

Смежные вопросы