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
已提問 2 年前檢視次數 1086 次
1 個回答
1
已接受的答案

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
已回答 2 年前
  • 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

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南