/api/uid/assign
Этот конечный пункт позволяет назначать UIDs новым метрикам, именам тегов и значениям тегов. Несколько типов и имен могут быть предоставлены в одном вызове, и API обработает каждое имя индивидуально, сообщив, какие имена были успешно назначены UIDs вместе с назначенным UID, а какие не удалось из-за недопустимых символов или они уже были назначены. Назначение может быть выполнено через строку запроса или данные содержимого.
Глаголы
- GET
- POST
Запросы
Каждый запрос должен содержать одно или несколько из следующих полей:
| Имя | Тип данных | Обязательное | Описание | По умолчанию | QS | RW | Пример |
|---|---|---|---|---|---|---|---|
| metric | Строка | Необязательно | Список имен метрик для назначения | metric | RW | sys.cpu.0 | |
| tagk | Строка | Необязательно | Список имён тегов для назначения | tagk | RW | host | |
| tagv | Строка | Необязательно | Список значений тегов для назначения | tagv | RW | web01 |
При выполнении запроса со строкой запроса, несколько имён для данного типа можно предоставить, разделив их запятыми. Например: metric=sys.cpu.0,sys.cpu.1,sys.cpu.2,sys.cpu.3. Применяются соглашения об именовании: см. _______.
Пример запроса
Строка запроса
http://localhost:4242/api/uid/assign?metric=sys.cpu.0,sys.cpu.1&tagk=host&tagv=web01,web02,web03
JSON-содержимое
{
"metric": [
"sys.cpu.0",
"sys.cpu.1",
"illegal!character"
],
"tagk": [
"host"
],
"tagv": [
"web01",
"web02",
"web03"
]
}
Ответ
Ответ будет содержать карту успешных назначений вместе с шестнадцатеричным кодированным значением UID. Если одно или несколько значений не были назначены, отдельный массив будет содержать список значений и причину, по которой они не были назначены. Карты с именем типа и <type>_errors будут сгенерированы только в том случае, если для данного типа были предоставлены одно или несколько значений.
Если все значения назначены, конечная точка возвращает код состояния 200, но если любое значение не было назначено, она вернёт 400.
Пример ответа
{
"metric": {},
"metric_errors": {
"sys.cpu.0": "Name already exists with UID: 000042",
"sys.cpu.1": "Name already exists with UID: 000043",
"illegal!character": "Invalid metric (illegal!character): illegal character: !",
},
"tagv": {},
"tagk_errors": {
"host": "Name already exists with UID: 0007E5"
},
"tagk": {
"web01": "000012",
"web02": "000013",
"web03": "000014"
}
}
© 2010–2016 The OpenTSDB Authors
Licensed under the GNU LGPLv2.1+ and GPLv3+ licenses.
http://opentsdb.net/docs/build/html/api_http/uid/assign.html