Testa query JMESPath e JSONPath su output JSON. Essenziale per il parametro --query della AWS CLI.
Usa la stessa query con il flag --query nella AWS CLI:
--query della AWS CLI puoi filtrare e trasformare l'output direttamente in shell senza pipe a jq. Esempi: aws ec2 describe-instances --query 'Reservations[].Instances[].InstanceId' ritorna solo gli ID. La sintassi {"{"}chiave:path{"}"} crea oggetti proiezione, [?condition] filtra, @ referenzia il valore corrente, length() e sort_by() sono funzioni built-in.$ come root e .. per la ricerca ricorsiva (es. $.store..price). JMESPath usa un'espressione senza prefisso e flatten() per l'appiattimento. JSONPath ha @. per il nodo corrente nei filtri; JMESPath usa @. JMESPath ha un sistema di funzioni più completo (sort_by, max_by, min_by, contains, keys, values). JSONPath è più comune in strumenti come Postman e Kong, mentre JMESPath è lo standard de facto nel mondo AWS (SDK, CLI, CDK).--query è più lento del filtro lato server con --filters. Usa --filters "Name=instance-state-name,Values=running" prima di --query per ridurre i dati trasferiti. Combina --query con --output text per output facilmente processabile in script bash. La proiezione multi-value {campo:path} è più efficiente di query separate perché fa un solo round-trip API. Per debug, usa sempre --dry-run nelle chiamate mutative.