Qual é a diferença entre --query e --filter em aws cli? Qual é sugerido para ser usado?

2

Estou começando a pegar o aws cli e só queria saber a diferença entre --query e --filter em aws cli? Quando devemos usar as opções --query e --filter ?

    
por Shash 22.11.2018 / 16:12

1 resposta

1

Essencialmente --filter é a condição usada para selecionar quais recursos você deseja descrever, listar, etc.

Por outro lado, --query é a lista de campos que você deseja retornar na resposta. Você pode fazer uma filtragem simples com --query , mas --filter tende a ser mais poderoso.

Exemplo de aws ec2 describe-volumes help :

To describe tagged volumes and filter the output

This example command describes all volumes that have the tag key Name and a value that begins with Test. The output is filtered to display only the tags and IDs of the volumes.

Command:

aws ec2 describe-volumes \
    --filters Name=tag-key,Values="Name" Name=tag-value,Values="Test*" \
    --query 'Volumes[*].{ID:VolumeId,Tag:Tags}'

Output:

[
  {
     "Tag": [ { "Value": "Test2", "Key": "Name" } ],
     "ID": "vol-1234567890abcdef0"
  },
  {
     "Tag": [ { "Value": "Test1", "Key": "Name" } ],
     "ID": "vol-049df61146c4d7901"
  }
]

Como você pode ver, o --filter é usado para selecionar os registros necessários (ou seja, aqueles com tag Nome começando com a string Teste * . E --query é usado para imprimir apenas as Tags (como Tag ) e o VolumeId (como ID ).

Espero que ajude:)

    
por 23.11.2018 / 01:30