В чём ошибка при создании словаря в ClickHouse?
Мне необходимо создать словарь, который будет запрашивать данные по API. Словарь создаётся, но при его открытии получаю ошибки.
Создаю словарь следующим образом:
CREATE DICTIONARY IF NOT EXISTS dbName.AppDict
(
Name String,
AppType Int32
)
PRIMARY KEY Name
SOURCE(HTTP(
url 'http://my_service.ru/api/Services/list?Offset=0'
format 'JSONCompactStringsEachRowWithNamesAndTypes'
credentials(user 'user' password 'xyz')
))
LAYOUT(COMPLEX_KEY_HASHED())
LIFETIME(60);
При открытии словаря получаю ошибку:
ClickHouse exception, code: 1002, host: localhost, port: 8123; Code: 27. DB::Exception: Cannot parse input: expected '[' before: '{"result":{"totalCount":2,"services":[{"version": "1.0.1","platformOS": "windows","name": "my_service1",: While executing JSONCompactEachRowRowInputFormat. (CANNOT_PARSE_INPUT_ASSERTION_FAILED) (version 21.11.2.2 (official build))
по url от http://my_service.ru/api/Services/list?Offset=0 получаю следующий ответ:
{
"result": {
"totalCount": 2,
"services": [
{
"version": "1.0.1",
"platformOS": "windows",
"name": "my_service1",
"appType": 0
},
{
"version": "2.0.0",
"platformOS": "windows",
"name": "my_service2",
"appType": 1
}
]
}
}
Что необходимо сделать, чтобы при открытии словаря я получал?
| Name | AppType |
|---|---|
| my_service1 | 1.0.1 |
| my_service2 | 2.0.0 |