Query jq

Rimodellare i dati con jq, comprese le funzioni integrate

  1. Eseguire una JSON Query (jq) su un oggetto
  2. Funzioni jq integrate

Eseguire una JSON Query (jq) su un oggetto

Rimodella un oggetto, per esempio il valore di un altro campo, con un’espressione jq:

fn.fnJq($(settings),'.mapping | keys')

// output : a full json object taken from another field called "settings", converted by jq

// fn.fnJq(object, jq)
// - object, for example read from rest or yaml file
// - jq-expression : a jq-expression (https://jqplay.org)
// - wrap the result in fn.fnSort to order it

Dalla 7.3.0 un filtro jq gira al massimo per JQ_TIMEOUT_SECONDS (30 per impostazione predefinita) prima di essere fermato, e il suo output è limitato a 64 MB. Questo vale per fn.fnJq e per l’espressione jq delle funzioni di query REST, su file, su credenziali e su database.


Funzioni jq integrate

Tutte le funzioni che recuperano dati accettano una JSON query (jq), un linguaggio per manipolare oggetti e array di dati.
Quando manipoli i dati, potresti dover convertire i byte in KB, MB o GB, o arrotondare i numeri.
Per questo AnsibleForms include alcune funzioni jq personalizzate:

  • fn2KB: da byte a KB
  • fn2MB: da byte a MB
  • fn2GB: da byte a GB
  • fnRound0: arrotonda a 0 decimali
  • fnRound1: arrotonda a 1 decimale
  • fnRound2: arrotonda a 2 decimali
  • fnRound: arrotonda a 2 decimali
fn.fnRestBasic('get','https://youruri','','CREDS',
  '[.records[] | {"Available Capacity":.storage_capacity.available | fn2GB | fnRound }]')
// note you need to pipe into the functions