я реализовал очень простой Streaming Analytics запроса:Azure Streaming Analytics вход/выход
SELECT
Collect()
FROM
Input TIMESTAMP BY ts
GROUP BY
TumblingWindow(second, 3)
я произвожу на входе концентратора события с питона сценарием:
...
iso_ts = datetime.fromtimestamp(ts).isoformat()
data = dict(ts=iso_ts, value=value)
msg = json.dumps(data, encoding='utf-8')
# bus_service is a ServiceBusService instance
bus_service.send_event(HUB_NAME, msg)
...
потребляет из очереди:
...
while True:
msg = bus_service.receive_queue_message(Q_NAME, peek_lock=False)
print msg.body
...
Проблема в том, что я не вижу никакой ошибки из любой точки портала Azure (вход и выход являются t ested и все в порядке), но я не могу получить какой-либо результат из моего текущего процесса!
Я разделяю картину диагностики, запрос работает:
Может кто-нибудь дать мне идею где начать поиск неисправностей?
Большое вам спасибо!
UPDATE
Хорошо, я предполагаю, что я выделил проблему.
Прежде всего, формат запроса должен выглядеть так:
SELECT
Collect()
INTO
[output-alias]
FROM
[input-alias] TIMESTAMP BY ts
GROUP BY
TumblingWindow(second, 3)
Я попытался удалить пункт TIMESTAMP BY
и все идет хорошо; поэтому, я думаю, проблема связана с этим предложением.
счетный пример JSON-сериализации входных данных:
{
"ts": "1970-01-01 01:01:17",
"value": "foo"
}
Можно утверждать, что метка времени слишком стар (семидесятые годы), но я также попытался с текущими отметками времени, и я не получил никакого вывода и любая ошибка на входе.
Может кто-нибудь представить, что происходит не так? Спасибо!
Что говорит страница мониторинга портала Azure, вы видите события ввода и были ли какие-либо ошибки? Кроме того, было ли что-нибудь в журналах операций? –
Нет, я ничего не вижу! это похоже на то, что нет никакого события. Это странно, потому что я исправил 2 ошибки в кодировке тела и формате timestamp, и они были сигнализированы. Поэтому я предполагаю, что ввод был прочитан топологией ... – affo
Знаете ли вы, что в 'FROM Input TIMESTAMP BY ts' строка' Input' должна соответствовать определенному имени пользователя? Например, входной псевдоним? – affo