aws ec2 describe-instances --filters

1

Hi, am wondering if applying filters on aws cli "ec2 describe-instances --filters [] " would filter the result set before fetching it over the network or at the client? E.g., I have 10 instances in my account, of which only 5 are 'Running' and I want to see the details of only those. My understanding after reading the docs in this case is that, backend API would simply fetch everything and filters would be applied at the client before displaying results. This means bringing over unnecessary data over the network. Is this the right understanding? If so, is there any way to "run filter at source itself"?

AWS
Vish_t
asked 2 years ago1080 views
1 Answer
1
Accepted Answer

The --filter(s) parameter uses server-side filtering, returning only the data with matching results.

In contrast, the --query parameter utilises client-side filtering, returning all data to the client prior to matching.

For more info, take a look at https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html

AWS
bendutt
answered 2 years ago
  • Thanks, it helps. I'm pasting a sample code from boto3 docs,

    instances = ec2.instances.filter( Filters=[{'Name': 'instance-state-name', 'Values': ['running']}])

    Can I assume that this 'filter' would work the same way, since both use the same backend API?

  • Yes, that would be using server-side filtering

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions