Получить ID операции
Центральный Пульт не имеет специальных запросов на получение списка Операций Объекта, Класса или Связи. Вместо этого, список операций хранится в поле operations
соответствующих моделей. Это поле можно получить несколькими способами.
Чтобы получить операции определённой сущности, можно использовать запрос Получить сущность по ID. Этот запрос возвращает данные сущности, которые включают в себя список операций в объекте operations
. Вы можете использовать поле operations.id
для запросов, которые требуют ID операции (например для выполнения операции с помощью запроса Выполнить операцию сущности).
Также, вы можете получить операции всех сущностей в системе. Используйте запросы Получить все объекты и Получить все связи для получения всех соответствующих сущностей в системе.
Запросы на получение всех сущностей не возвращают поле
|
Вы можете использовать запрос Получить все корневые сущности, чтобы получить объекты и связи, которые являются дочерними к корневому объекту. Этот запрос возвращает поле operations
без дополнительных параметров запроса.
Аналогично работает получение списка операций Классов. Получить операцию одного класса можно с помощью запроса Получить класс по ID, а операции всех классов – запросом Получить все классы. Список операций также хранится в поле operations
.
Пример
Этот пример показывает как выполнить все запросы в определённой сущности.
Пример использует запрос Получить сущность по ID для получения указанной сущности, а затем использует запрос Выполнить операцию сущности для выполнения всех операций.
import requests
import json
# Настройки запроса
login = <...>
password = <...>
saymon_hostname = <...>
entity_id = <...>
# Получить указанную сущность
get_entity_url = "http://" + saymon_hostname + "/node/api/entities/" + entity_id
response = requests.request("GET", get_entity_url, auth=(login, password))
# Получить список всех операций полученной сущности
entity = json.loads(response.text)
ops = entity['operations']
# Выполнить все операции полученной сущности
for operation in ops:
op_id = operation['id']
execute_op_url = "http://" + saymon_hostname + "/node/api/entities/" + entity_id + "/operations/" + op_id + "/execute"
response = requests.request("POST", execute_op_url, auth=(login, password))
print("Executed operation with id " + op_id + "; created job ID: " + response.text)