Вывод результата команды в JSON [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Предыдущая версия
dpi:dpi_components:platform:subscriber_management:subsman_json [2024/09/26 15:29] – создано - внешнее изменение 127.0.0.1dpi:dpi_components:platform:subscriber_management:subsman_json [2026/05/20 15:22] (текущий) elena.krasnobryzh
Строка 3: Строка 3:
  
 Для упрощения разбора результата выполнения команды при интеграции с внешними платформами и WEB предусмотрен вывод в формате JSON Для упрощения разбора результата выполнения команды при интеграции с внешними платформами и WEB предусмотрен вывод в формате JSON
 +
 Для этого в команде указывается дополнительный параметр Для этого в команде указывается дополнительный параметр
-<code>--outformat json</code>+<code bash>--outformat json</code>
  
 Для удобства работы с json рекомендуем установить утилиту jq: Для удобства работы с json рекомендуем установить утилиту jq:
-<code>+<code bash>
 yum install epel-release yum install epel-release
 yum-config-manager --disable epel yum-config-manager --disable epel
Строка 13: Строка 14:
 </code> </code>
  
-Примеры +Примеры:
- +
-Форматированный вывод результата выполнения команды +
-<code> +
-fdpi_ctrl list all profile --policing --outformat json|jq . +
-</code> +
- +
-Посмотреть статистику использования разных профилей полисинга +
-<code> +
-fdpi_ctrl list all --policing --outformat json|jq '.lpolicings[].description.name'|sort|uniq -c +
-</code> +
-или тоже самое в формате json средствами jq +
-<code> +
-fdpi_ctrl list all --policing --outformat json|jq  '[{ name.lpolicings[].description.name, login: .login }] | group_by(.name) | .[] | { name: .[0].name, count: . | length}' +
-</code> +
- +
-Для последующего применения можно превратить этот вызов в функцию bash +
-<code> +
-function fdpi_policing_stat() { fdpi_ctrl list all --policing --outformat json|jq  '[{ name: .lpolicings[].description.name, login: .login }] | group_by(.name) | .[] | { name: .[0].name, count: . | length}';+
-</code> +
-и потом просто вызывать эту функцию из командной строки +
-<code> +
-fdpi_policing_stat +
-</code> +
-Для постоянного использования функций можно сохранить их в файле .bash_profile  +
- +
- +
  
 +  - Форматированный вывод результата выполнения команды: <code bash>fdpi_ctrl list all profile --policing --outformat json|jq .</code>
 +  - Посмотреть статистику использования разных профилей полисинга: <code bash>fdpi_ctrl list all --policing --outformat json|jq '.lpolicings[].description.name'|sort|uniq -c</code> или тоже самое в формате json средствами jq: <code bash>fdpi_ctrl list all --policing --outformat json|jq  '[{ name: .lpolicings[].description.name, login: .login }] | group_by(.name) | .[] | { name: .[0].name, count: . | length}'</code>
 +  - Для последующего применения можно превратить этот вызов в функцию bash: <code bash>function fdpi_policing_stat() { fdpi_ctrl list all --policing --outformat json|jq  '[{ name: .lpolicings[].description.name, login: .login }] | group_by(.name) | .[] | { name: .[0].name, count: . | length}'; }</code> и потом просто вызывать эту функцию из командной строки <code bash>fdpi_policing_stat</code>
  
 +Для постоянного использования функций можно сохранить их в файле ''.bash_profile''