/api/annotation/bulk
ПРИМЕЧАНИЕ: (Версия 2.1) Конечная точка bulk позволяет добавлять, обновлять или удалять несколько аннотаций в одном вызове. Обновления аннотаций должны отправляться с помощью PUT или POST в качестве данных содержимого. Запросы с параметрами запроса не поддерживаются для POST или GET. Каждая аннотация обрабатывается индивидуально и синхронизируется с сервером. Если у одной из аннотаций возникнет ошибка, например, отсутствует поле, будет возвращено исключение, и некоторые аннотации могут не быть записаны в хранилище. В таком случае некорректную аннотацию следует исправить, и все аннотации следует отправить снова.
Аннотации также могут быть удалены в пакетном режиме для указанного временного интервала. Если вы предоставите список одного или нескольких TSUIDs, аннотации с start time, который попадает в указанный временной интервал и относится к этим TSUIDs, будут удалены. В качестве альтернативы можно установить флаг global, и любые глобальные аннотации (те, которые не связаны с временным рядом) будут удалены в заданном диапазоне.
Глаголы
- POST - Создать или изменить аннотации
- PUT - Создать или заменить аннотации
- DELETE - Удалить аннотации в течение определенного временного интервала
Запросы
Поля для отправки или обновления аннотаций документированы в /api/annotation
Поля для запроса пакетного удаления определены ниже:
| Имя | Тип данных | Обязательно | Описание | Значение по умолчанию | QS | RW | Пример |
|---|---|---|---|---|---|---|---|
| startTime | Целое число | Обязательно | Отметка времени начала запроса. Отметка времени может быть относительной или абсолютной, как указано в Даты и время. | start_time | RO | 1369141261 | |
| endTime | Целое число | Необязательно | Необязательная конечная отметка времени события, если оно завершено или разрешено. Отметка времени может быть относительной или абсолютной, как указано в Даты и время. | end_time | RO | 1369141262 | |
| tsuids | Массив | Необязательно | Список TSUIDs с аннотациями, которые должны быть удалены. Может быть пустым или нулевым (для JSON), в этом случае должен быть установлен флаг global. При использовании параметра запроса разделять TSUIDs запятыми. | tsuids | RO | 000001000001000001, 000001000001000002 | |
| global | Булево | Необязательно | Удалить ли глобальные аннотации для указанного диапазона | false | global | RO | true |
Предупреждение
Если ваш запрос использует PUT, любые поля, которые вы не предоставили в запросе, будут перезаписаны своими значениями по умолчанию. Например, поле description будет установлено в пустую строку, а поле custom будет сброшено до null.
Пример запроса POST/PUT
[
{
"startTime":"1369141261",
"tsuid":"000001000001000001",
"description": "Testing Annotations",
"notes": "These would be details about the event, the description is just a summary",
"custom": {
"owner": "jdoe",
"dept": "ops"
}
},
{
"startTime":"1369141261",
"tsuid":"000001000001000002",
"description": "Second annotation on different TSUID",
"notes": "Additional details"
}
]
Пример запроса DELETE QS
/api/annotation/bulk?start_time=1d-ago&end_time=1h-ago&method_override=delete&tsuids=000001000001000001,000001000001000002
Пример запроса DELETE
{
"tsuids": [
"000001000001000001",
"000001000001000002"
],
"global": false,
"startTime": 1389740544690,
"endTime": 1389823344698,
"totalDeleted": 0
}
Ответ
Успешный ответ на запрос POST или PUT вернет список аннотаций после синхронизации (т. е. если вы выполняете вызов POST, существующие объекты будут объединены с новыми объектами). Запросы удаления вернут объект с запросом удаления и полем totalDeleted, содержащим целое число, отражающее общее количество удаленных аннотаций. Если были предоставлены некорректные данные, будет возвращена ошибка 400, а также конкретная аннотация, вызвавшая ошибку, в поле details объекта ошибки.
Пример ответа POST/PUT
[
{
"tsuid": "000001000001000001",
"description": "Testing Annotations",
"notes": "These would be details about the event, the description is just a summary",
"custom": {
"owner": "jdoe",
"dept": "ops"
},
"endTime": 0,
"startTime": 1369141261
},
{
"tsuid": "000001000001000002",
"description": "Second annotation on different TSUID",
"notes": "Additional details",
"custom": null,
"endTime": 0,
"startTime": 1369141261
}
]
Пример ответа DELETE
{
"tsuids": [
"000001000001000001",
"000001000001000002"
],
"global": false,
"startTime": 1389740544690,
"endTime": 1389823344698,
"totalDeleted": 42
}
© 2010–2016 The OpenTSDB Authors
Licensed under the GNU LGPLv2.1+ and GPLv3+ licenses.
http://opentsdb.net/docs/build/html/api_http/annotation/bulk.html