Перейти к содержанию

Как читать ошибки

Ошибки валидации

Конфиг FAAS валидируется до начала расчёта факторов. Если с ним что-то не так, вы, скорее всего, получите исключение с подробным сообщением об ошибке. Разберём на примерах, как их читать.

Пример 1:

faas_client.api.ServiceException: status=422,
detail="[{'type': 'union_tag_invalid', 'loc': ['body', 'features', '1'],
'msg': "Input tag 'cirlec' found using 'type' does not match any of the expected tags: 'circle', 'distance', 'huff', 'isochrone', 'match', 'match_aggregate', 'near'",
'input': {'type': 'cirlec', 'dataset': 'ru-pub-households/apartments', 'metric': 'foot', 'field': 'price', 'agg': 'sum', 'limit': 1000, 'fillna': 0},
'ctx': {'discriminator': "'type'", 'tag': 'cirlec', 'expected_tags': "'circle', 'distance', 'huff', 'isochrone', 'match', 'match_aggregate', 'near'"},
'url': 'https://errors.pydantic.dev/2.5/v/union_tag_invalid'}]")

Как читать: неверное имя типа фактора — cirlec.

Пример 2:

faas_client.api.ServiceException: status=422,
detail="[{'type': 'value_error', 'loc': ['body', 'features', '1', 'huff'],
'msg': 'Value error, No such dataset: foot',
'input': {'type': 'huff', 'dataset': 'foot', 'metric': 'foot', 'field': 'price', 'agg': 'sum', 'limit': 1000, 'fillna': 0},
'ctx': {'error': {}}, 'url': 'https://errors.pydantic.dev/2.5/v/value_error'}]")

Как читать: датасета с именем foot не существует.

Ошибки времени выполнения

Ошибки времени выполнения — это ошибки, которые возникают во время расчёта факторов. Они записываются в поле error результата.

Пример:

Mongo error in feature: {'type': 'huff', 'dataset': 'ru-pub-households/apartments', 'filter': {'year': {'$inn': [2014, 2015, 2017]}}, 'metric': 'dist', 'weight': None, 'field': 'price', 'agg': 'sum', 'limit': 1000, 'fillna': 0.0, 'metric_funcs': [], 'infl_func': None, 'winner_takes_all': False}.
Please check your mongo filter syntax. Message: unknown operator: $inn

Как читать: опечатка в mongo-операторе, вместо $inn должно быть $in.

Если вы столкнулись с ошибкой времени выполнения и не знаете, как её исправить, обратитесь в поддержку.