Размещение события v2: различия между версиями
ENetrebin (обсуждение | вклад) |
ENetrebin (обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
Запрос создает <code>application/json</code>полезную нагрузку. | Запрос создает <code>application/json</code>полезную нагрузку. | ||
{| class="wikitable" | {| class="wikitable" | ||
| rowspan=" | | rowspan="2" |POST | ||
|Managed | |Managed | ||
|<code><nowiki>https://{your-domain}/e/{your-environment-id}/api/v2/events/ingest</nowiki></code> | |<code><nowiki>https://{your-domain}/e/{your-environment-id}/api/v2/events/ingest</nowiki></code> | ||
|- | |- | ||
| | |Cреда АктивногоШлюза | ||
|<code><nowiki>https://{your-activegate-domain}/e/{your-environment-id}/api/v2/events/ingest</nowiki></code> | |<code><nowiki>https://{your-activegate-domain}/e/{your-environment-id}/api/v2/events/ingest</nowiki></code> | ||
|} | |} | ||
Строка 203: | Строка 200: | ||
==== Curl ==== | ==== Curl ==== | ||
<code>curl --request POST \ | <code>curl --request POST \ | ||
--url <nowiki>https://mySampleEnv.live. | --url <nowiki>https://mySampleEnv.live.ruscomtech.ru/api/v2/events/ingest</nowiki> \ | ||
--header 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \ | --header 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \ | ||
--data '{ | --data '{ | ||
Строка 215: | Строка 212: | ||
==== URL-адрес запроса ==== | ==== URL-адрес запроса ==== | ||
<code><nowiki>https://mySampleEnv.live. | <code><nowiki>https://mySampleEnv.live.ruscomtech.ru/api/v2/events/ingest</nowiki></code> | ||
==== Тело запроса ==== | ==== Тело запроса ==== | ||
Строка 252: | Строка 249: | ||
==== Curl ==== | ==== Curl ==== | ||
<code>curl --request POST \ | <code>curl --request POST \ | ||
--url <nowiki>https://mySampleEnv.live. | --url <nowiki>https://mySampleEnv.live.ruscomtech.ru/api/v2/events/ingest</nowiki> \ | ||
--header 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \ | --header 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \ | ||
--data '{ | --data '{ | ||
Строка 267: | Строка 264: | ||
==== URL-адрес запроса ==== | ==== URL-адрес запроса ==== | ||
<code><nowiki>https://mySampleEnv.live. | <code><nowiki>https://mySampleEnv.live.ruscomtech.ru/api/v2/events/ingest</nowiki></code> | ||
==== Тело запроса ==== | ==== Тело запроса ==== | ||
Строка 303: | Строка 300: | ||
==== Curl ==== | ==== Curl ==== | ||
<code>curl --request POST \ | <code>curl --request POST \ | ||
--url <nowiki>https://mySampleEnv.live. | --url <nowiki>https://mySampleEnv.live.ruscomtech.ru/api/v2/events/ingest</nowiki> \ | ||
--header 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \ | --header 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \ | ||
--data '{ | --data '{ | ||
Строка 318: | Строка 315: | ||
==== URL-адрес запроса ==== | ==== URL-адрес запроса ==== | ||
<code><nowiki>https://mySampleEnv.live. | <code><nowiki>https://mySampleEnv.live.ruscomtech.ru/api/v2/events/ingest</nowiki></code> | ||
==== Тело запроса ==== | ==== Тело запроса ==== |
Версия 16:08, 20 февраля 2023
Принимает пользовательское событие в Ключ-АСТРОМ.
Запрос создает application/json
полезную нагрузку.
POST | Managed | https://{your-domain}/e/{your-environment-id}/api/v2/events/ingest
|
Cреда АктивногоШлюза | https://{your-activegate-domain}/e/{your-environment-id}/api/v2/events/ingest
|
Аутентификация
Чтобы выполнить этот запрос, вам нужен токен доступа с областью событий Ingest ( events.ingest
) . Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .
Параметры
Параметр | Тип | Описание | In | Необходимость |
---|---|---|---|---|
body | EventIngest | Тело JSON запроса. Содержит свойства нового события. | body | необязательный |
Объекты тела запроса
Объект _ EventIngest
Конфигурация события для загрузки.
Элемент | Тип | Описание |
---|---|---|
eventType | string | Тип события.
Элемент может содержать эти значения
|
title | string | Название события. |
startTime | integer | Время начала события в миллисекундах UTC.
Если не установлено, используется текущая метка времени. Может быть |
endTime | integer | Время окончания события в миллисекундах UTC.
Если не задано, используется время начала плюс время ожидания. Может быть |
timeout | integer | Время ожидания события в минутах.
Если не установлено, используется 15. Может быть |
entitySelector | string | Селектор сущностей , определяющий набор сущностей Ключ-АСТРОМ, которые будут связаны с событием.
Можно выбрать только объекты, которые были активны в течение последних 24 часов. Если не установлено, событие связано с Может быть |
properties | object | Карта свойств события.
Ключи с префиксом Значения зарезервированных Ключ-АСТРОМ свойств (обозначаемых ключом с префиксом Может быть |
JSON-модель тела запроса
Это модель тела запроса, показывающая возможные элементы. Его необходимо настроить для использования в реальном запросе.
{
"eventType": "AVAILABILITY_EVENT",
"title": "string",
"startTime": 1,
"endTime": 1,
"timeout": 1,
"entitySelector": "string",
"properties": {}
}
Ответ
Коды ответов
Код | Тип | Описание |
---|---|---|
201 | EventIngestResults | Запрос приема события был получен сервером. Тело ответа указывает для каждого события, было ли его создание успешным. |
Объекты тела ответа
Объект _ EventIngestResults
Результаты приема событий.
Элемент | Тип | Описание |
---|---|---|
reportCount | integer | Количество созданных отчетов о событиях.
Может быть |
eventIngestResults | EventIngestResult[] | Результат каждого созданного отчета о событиях.
Может быть |
Объект _ EventIngestResult
Результат созданного отчета о событиях.
Элемент | Тип | Описание |
---|---|---|
status | string | Статус приема.
Элемент может содержать эти значения
Может быть |
correlationId | string | Идентификатор корреляции созданного события.
Может быть |
JSON-модель тела ответа
{
"reportCount": 1,
"eventIngestResults": [
{
"status": "INVALID_ENTITY_TYPE",
"correlationId": "string"
}
]
}
Примеры
Пример 1
Вариант использования
В этом примере запрос отправляет событие « Помечено для завершения » на узлы, которые планируется удалить. Такие хосты идентифицируются группой хостов cloud-burst-hosts . Событие автоматически применяется ко всем хостам, входящим в группу. В качестве дополнительной информации указываются цель прекращения и номер задания автоматизации.
Маркер API передается в заголовке авторизации .
Curl
curl --request POST \
--url https://mySampleEnv.live.ruscomtech.ru/api/v2/events/ingest \
--header 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
--data '{
"eventType": "MARKED_FOR_TERMINATION",
"title": "Planned host downscale",
"entitySelector": "type(HOST),fromRelationship.isInstanceOf(type(HOST_GROUP),entityName(cloud-burst-hosts))",
"properties": {
"job.number": "21234346"
}
}'
URL-адрес запроса
https://mySampleEnv.live.ruscomtech.ru/api/v2/events/ingest
Тело запроса
{
"eventType": "MARKED_FOR_TERMINATION",
"title": "Planned host downscale",
"entitySelector": "type(HOST),fromRelationship.isInstanceOf(type(HOST_GROUP),entityName(cloud-burst-hosts))",
"properties": {
"job.number": "21234346"
}
}
Тело ответа
{
"reportCount": 2,
"eventIngestResults": [
{
"correlationId": "41f5d263011a6c9a",
"status": "OK"
},
{
"correlationId": "80eae4d163cc5760",
"status": "OK"
}
]
}
Код ответа
201
Пример 2
В этом примере запрос отправляет событие Custom info в службу BookingService , помечая ее как цель нагрузочного теста.
Маркер API передается в заголовке авторизации .
Curl
curl --request POST \
--url https://mySampleEnv.live.ruscomtech.ru/api/v2/events/ingest \
--header 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
--data '{
"eventType": "CUSTOM_INFO",
"title": "Loadtest start",
"timeout": 30,
"entitySelector": "type(SERVICE),entityName.equals(BookingService)",
"properties": {
"Tool": "MyLoadTool",
"Load per minute": "100",
"Load pattern": "production"
}
}'
URL-адрес запроса
https://mySampleEnv.live.ruscomtech.ru/api/v2/events/ingest
Тело запроса
{
"eventType": "CUSTOM_INFO",
"title": "Loadtest start",
"timeout": 30,
"entitySelector": "type(SERVICE),entityName.equals(BookingService)",
"properties": {
"Tool": "MyLoadTool",
"Load per minute": "100",
"Load pattern": "production"
}
}
Тело ответа
{
"reportCount": 1,
"eventIngestResults": [
{
"correlationId": "eba82f647696e485",
"status": "OK"
}
]
}
Код ответа
201
Пример 3
В этом примере запрос отправляет в службу BookingService событие Error , указывающее на неудачное обновление. Для свойства allowDavisMerge установлено значение , что запрещает Дэвису объединять это событие с любым другим событием.false
Маркер API передается в заголовке авторизации .
Curl
curl --request POST \
--url https://mySampleEnv.live.ruscomtech.ru/api/v2/events/ingest \
--header 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
--data '{
"eventType": "ERROR_EVENT",
"title": "Product catalog update failed",
"timeout": 30,
"entitySelector": "type(SERVICE),entityName.equals(BookingService)",
"properties": {
"allowDavisMerge": "false",
"Catalog": "APAC travels",
"Batch processor": "travel-catalog"
}
}'
URL-адрес запроса
https://mySampleEnv.live.ruscomtech.ru/api/v2/events/ingest
Тело запроса
{
"eventType": "ERROR_EVENT",
"title": "Product catalog update failed",
"timeout": 30,
"entitySelector": "type(SERVICE),entityName.equals(BookingService)",
"properties": {
"allowDavisMerge": "false",
"Catalog": "APAC travels",
"Batch processor": "travel-catalog"
}
}
Тело ответа
{
"reportCount": 1,
"eventIngestResults": [
{
"correlationId": "cefb7ae03ac720b6",
"status": "OK"
}
]
}
Код ответа
201